Làm thế nào để tìm kiếm và thay thế nhiều tập tin khác?


11

Tôi sử dụng greplệnh để tìm kiếm một chuỗi trong nhiều tệp. Có cái gì đó tương tự như "tìm kiếm và thay thế" không?

Câu trả lời:


19

Bạn đang tìm kiếm sedlệnh. Ví dụ: để thay thế "con chó" bằng "con mèo" trong tất cả các tệp văn bản trong thư mục hiện tại:

sed -i 's/dog/cat/' *.txt

1
Đơn giản và tốt đẹp.
Luis Alvarado

1

sed đến với tâm trí. Thí dụ:

sed s/cat/dog/ <input >output

Điều này tìm kiếm con mèo trong một dòng và đặt con chó vào vị trí của nó trong đầu vào tệp và ghi vào đầu ra tệp.



0

Bạn có thể sử dụng Vim trong chế độ Ex:

for b in *.txt
do
  ex -sc '%s/OLD/NEW/g|x' "$b"
done
  1. % chọn tất cả các dòng

  2. s thay thế

  3. g thay thế tất cả các trường hợp trong mỗi dòng

  4. x lưu và đóng

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.