Tôi có một tệp văn bản mà tôi muốn thay thế một chuỗi bằng một chuỗi mới, sau đó thêm hoặc xóa dấu cách để tạo cùng một số ký tự. Ví dụ, tôi muốn thay thếsed - thay thế chuỗi có số ký tự bằng nhau
string .10
với
longer_string .10
Về bản chất tôi cần phải thay thế 'chuỗi', và sau đó có' .10' trong cột đúng, regarldess số lượng ký tự trong chuỗi thay thế.
Xin chào @ ericvb86 bạn có ý nghĩa giống cái này 'sed -e' s/string/longer_string/g 'file.txt'? –
bạn có thể sử dụng thay thế tập lệnh ed hoặc vim để làm điều đó nếu không bạn sẽ tạo một tập lệnh không phụ thuộc vào kích thước chuỗi của chuỗi thay thế để khớp/thay thế khoảng trống cần thiết bất kể kích thước khác. – alexscott
Re alexscott của câu trả lời: có, tôi sẽ nói rằng điều này trông giống như nhiều hơn một công việc cho vi/vim hơn sed. Tìm kiếm chuỗi ('/^string'), vim-replace bằng chuỗi dài hơn (' Rlonger-string '). Tôi không biết mã vimscript chính xác cho việc này; bạn cần nghiên cứu: https://en.wikipedia.org/wiki/Vim_(text_editor)#Vim_script. –