thay thế chuỗi văn bản trong tệp [Guide]

Việc chỉnh sửa các tệp văn bản trên Linux bằng tay có thể rất tẻ nhạt. Đó là lý do tại sao bạn nên biết cách thay thế chuỗi văn bản trong tệp bằng dòng lệnh một cách nhanh chóng. Nếu bạn là người mới sử dụng Linux và không biết cách thực hiện, chúng tôi có thể giúp bạn! Hãy làm theo khi chúng tôi hướng dẫn bạn cách thay thế chuỗi văn bản trong tệp trên Linux!
Mục lục
Thay thế chuỗi văn bản trong tệp – sed
Công cụ sed là cách tốt nhất để thay thế một chuỗi văn bản trong một tệp trên Linux. Nguyên nhân? Nó đơn giản để sử dụng và làm rất tốt công việc của nó. Sed thường được cài đặt sẵn trên 99% hệ điều hành Linux nên không cần cài đặt để sử dụng.
Việc thay thế một chuỗi văn bản trong tệp bằng Sed được thực hiện bằng lệnh sed -i. Đây là cách sử dụng nó. Đầu tiên, mở một cửa sổ đầu cuối trên màn hình Linux. Bạn có thể mở cửa sổ dòng lệnh bằng cách nhấn Ctrl + Alt + T trên bàn phím.
Sau khi cửa sổ đầu cuối mở và sẵn sàng sử dụng, hãy viết sed -i trong dấu nhắc đầu cuối. Đây là phần bắt đầu của lệnh thay thế.
sed -i
Sau khi viết ra lệnh sed -i, hãy thêm vào dấu ngoặc kép. Dấu ngoặc kép này là cần thiết, vì tất cả văn bản được thay thế bằng sed -i cần phải bắt đầu sau dấu này.
sed -i '
Sau dấu ‘đầu tiên, viết s /. S / đi ngay trước văn bản hiện có mà bạn muốn thay thế bằng cách sử dụng sed.
sed -i 's/
Bây giờ s / đã được ghi vào dấu nhắc dòng lệnh đầu cuối, đã đến lúc thông báo cho sed văn bản nào cần thay thế trong tệp. Trong ví dụ này, chúng tôi sẽ thay thế từ “apple”.
sed -i 's/apple
Khi văn bản chúng ta muốn thay thế được viết vào lệnh, bước tiếp theo là viết vào văn bản mới sẽ thay thế nó. Trong ví dụ này, chúng tôi sẽ thay thế “táo” bằng “cam”.
sed -i 's/apples/oranges
Sau khi văn bản chúng ta muốn thay thế được viết vào lệnh (cam), hãy tắt lệnh bằng g /. G / cho sed thay thế tất cả các trường hợp văn bản (táo) bằng văn bản mới (cam). Nó sẽ giống như ví dụ dưới đây.
Lưu ý: nếu bạn không muốn thay thế mọi văn bản trong tệp (ví dụ: táo thành cam), hãy loại bỏ g và để nó chạy dưới dạng sed -i ‘s / táo / cam /’ để thay thế.
sed -i 's/apple/orange/g'
Cuối cùng, cho sed biết văn bản trong tệp cần thay thế. Trong ví dụ này, fruit.txt trong thư mục chính là đích.
sed -i 's/apples/oranges/g' ~/fruit.txt
Nhấn phím enter để thực hiện lệnh và thay thế chuỗi văn bản của bạn trong tệp.
Thay thế chuỗi văn bản trong tệp – Perl
Một cách khác để thay thế chuỗi văn bản trong tệp trên Linux là sử dụng ngôn ngữ lập trình Perl. Perl được sử dụng rất nhiều để xử lý văn bản, vì vậy, tự nhiên, nó có thể hoán đổi các chuỗi văn bản trong tệp và hoàn hảo cho trường hợp sử dụng này.
Để bắt đầu, hãy đảm bảo bạn đã cài đặt Perl trên PC Linux. Hầu hết các hệ điều hành Linux đều được cài đặt Perl. Tuy nhiên, nếu bạn chưa có, hãy kiểm tra trang trợ giúp của hệ điều hành để biết thông tin về cách làm cho nó hoạt động.
Sử dụng Perl để thay thế các chuỗi văn bản trong tệp yêu cầu phải có thiết bị đầu cuối. Mở một thiết bị đầu cuối trên màn hình Linux bằng cách nhấn Ctrl + Alt + T trên bàn phím. Hoặc, tìm kiếm “Terminal” trong menu ứng dụng và khởi chạy nó theo cách đó.
Khi cửa sổ dòng lệnh đã mở và sẵn sàng sử dụng, hãy bắt đầu bằng cách gõ perl -pe trong dấu nhắc dòng lệnh. Lệnh perl -pe là lệnh cần thiết để thay thế chuỗi văn bản trong tệp.
perl -pe
Khi viết ra perl -pe trong dấu nhắc đầu cuối, bạn sẽ cần bắt đầu bằng dấu ngoặc kép đầu tiên. Dấu này cho Perl biết vị trí của vùng thay thế văn bản trong lệnh.
perl -pe '
Sau dấu ngoặc kép đầu tiên, thêm s /, tiếp theo là chuỗi văn bản bạn muốn thay thế và một dấu / khác. Ví dụ: để thay thế “táo” trong tệp fruit.txt, bạn sẽ viết văn bản sau.
perl -pe 's/apples/
Sau khi viết ra (các) từ bạn muốn thay thế, hãy thêm từ sẽ thay thế văn bản hiện có. Ví dụ: nếu bạn muốn thay thế “táo” trong “fruit.txt” bằng “cam”, hãy thêm “cam” sau perl -pe ‘s / Táo / để nó trông giống như perl -pe’ s / Táo / cam / .
perl -pe 's/apples/oranges/
Khi cả hai chuỗi văn bản đều có trong lệnh, bạn sẽ cần chỉ định tệp đầu vào mà Perl sử dụng. Ví dụ: nếu bạn muốn thay thế văn bản trong tệp “fruit.txt”, bạn sẽ cần chỉ định nó trong lệnh.
Lưu ý: trong ví dụ này, tệp “fruit.txt” nằm trong thư mục chính (~ /). Đảm bảo thay thế “~ / fruit.txt” bằng vị trí tệp văn bản của bạn để lệnh hoạt động.
perl -pe 's/apples/oranges/' ~/fruit.txt
Bây giờ tệp đầu vào (tệp bạn đang sửa đổi bằng Perl) đã được thêm vào lệnh, lệnh sẽ giống như bên dưới.
perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
Khi lệnh trên được chạy, chuỗi văn bản sẽ được thay thế bằng văn bản mới mà bạn đã chỉ định. Trong ví dụ của chúng tôi, chúng tôi đã thay thế “táo” bằng “cam”. Để xem các thay đổi, hãy nhập lệnh bên dưới.
cat fruit.txt