Tôi đã sử dụng thành công sed
lệnh sau để tìm kiếm / thay thế văn bản trong Linux:
sed -i 's/old_link/new_link/g' *
Tuy nhiên, khi tôi dùng thử trên Mac OS X, tôi nhận được:
"lệnh c mong đợi \ theo sau là văn bản"
Tôi nghĩ máy Mac của tôi chạy vỏ BASH bình thường. Có chuyện gì vậy?
BIÊN TẬP:
Theo @High Performance, điều này là do Mac sed
có hương vị (BSD) khác, do đó, câu hỏi của tôi là làm thế nào để tôi sao chép lệnh này trong BSD sed
?
BIÊN TẬP:
Đây là một ví dụ thực tế gây ra điều này:
sed -i 's/hello/gbye/g' *
sed
xem "c" trong dữ liệu của bạn dưới dạng lệnh. Bạn đang sử dụng một biến? Vui lòng gửi một cái gì đó đại diện chặt chẽ hơn cho lệnh thực tế và một số dữ liệu mà bạn đang xử lý. Bạn có thể có được một minh chứng đơn giản về lỗi này bằng cách làmecho x | sed c
.