Có thể làm điều đó trong một lót?
Tôi có một đầu ra như thế này:
"First line" - Description
" Second line" - Description
"Third line" - Description
" Fourth line" - Description
Đầu vào này được tạo tự động.
Tôi muốn thay thế lần xuất hiện đầu tiên của "
(dấu ngoặc kép + dấu cách) bằng "
(dấu ngoặc kép) cho mỗi dòng. Nếu tôi áp dụng sự thay thế trên toàn cầu, nó cũng sẽ thay đổi mỗi lần xuất hiện của line" -
để line"-
, vì vậy tôi đã tự hỏi nếu nó có thể sử dụng một sed lót để thực hiện điều này.
Tôi đã thử sử dụng ^
như thế này
sed -r ':a;N;$!ba;s/(\^\" )/\"/g'
Nhưng nó không hoạt động, nó không thay thế bất cứ điều gì. Tôi đã thử
sed -r ':a;N;$!ba;s/(^|\" )/\"/g'
và nó thay thế tất cả các lần xuất hiện. Tôi mới bắt đầu sử dụng sed, vì vậy tôi thực sự không biết liệu mình có làm gì sai không.
Tôi đang thiếu gì ở đây?
sed
, nhưng để có tính di động và để tránh các lỗi thực sự lạ, bạn nên kết thúc một đối số lệnh đã cho sau nhãn (nếu bạn cần chúng). Ví dụ:sed -e ':a' -e 'N;$!ba' -e 'whatever'