Trong vim tôi muốn thay thế một đường dẫn dài bằng một đường dẫn /a/b/f/g/d/gkhác /s/g/w/d/g/rtrong tệp văn bản. Thông thường tôi sử dụng \/nhưng có quá nhiều dấu gạch chéo ở đây. Có cách nào dễ hơn không?
Trong vim tôi muốn thay thế một đường dẫn dài bằng một đường dẫn /a/b/f/g/d/gkhác /s/g/w/d/g/rtrong tệp văn bản. Thông thường tôi sử dụng \/nhưng có quá nhiều dấu gạch chéo ở đây. Có cách nào dễ hơn không?
Câu trả lời:
Có lẽ bạn có thể sử dụng sed
Ví dụ 1 -
@dấu phân cách sed : Thay thế/opt/omni/lbincho/opt/tools/binKhi bạn thay thế một tên đường dẫn có
/, bạn có thể sử dụng@như một dấu phân cách thay vì/. Trong ví dụ sed bên dưới, trong dòng cuối cùng của tệp đầu vào,/opt/omni/lbinđã được thay đổi thành/opt/tools/bin.$ sed 's@/opt/omni/lbin@/opt/tools/bin@g' path.txt /usr/kbos/bin:/usr/local/bin:/usr/jbin/:/usr/bin:/usr/sas/bin /usr/local/sbin:/sbin:/bin/:/usr/sbin:/usr/bin:/opt/omni/bin: /opt/tools/bin:/opt/omni/sbin:/root/bin
Từ: http : //www.thegeek ware.com/2009/10/unix-sed-tutorial-advified-sed-substlation-examples/