Tôi đã thử lệnh này,Làm thế nào để thay thế một chuỗi trong nhiều tập tin bằng cách sử dụng grep và sed khi đối số -i không được hỗ trợ?
grep '/static' dir/* | xargs sed -i 's/\/static//g'
nhưng phiên bản sed Tôi đang sử dụng không hỗ trợ lập luận -i.
Để thay thế một chuỗi trong một tập tin, các tập tin đầu vào tương tự như đầu ra, tôi thường làm điều này:
sed 's/\/static//g' filename.txt > new_filename.txt ; mv new_filename.txt filename.txt
Đã hoạt động! Tôi đã không đưa ra một phần mở rộng cho các tập tin sao lưu. Trowing rằng trong đó làm cho nó hoạt động. Điều này chắc chắn dễ nhớ hơn là trải qua vòng lặp for. Cảm ơn! – davierc