Tôi có một tài liệu văn bản đơn giản, mà tôi muốn biên dịch bên trong LaTeX. Tuy nhiên, đôi khi nó có các ký tự, "#", "$", "%", "&" và "_". Để biên dịch đúng trong LaTeX, trước tiên tôi phải thay thế các ký tự này bằng "#", "\ $", "\%", "\ &" và "_". Tôi đã sử dụng dòng này trong sed
:
sed -i 's/\#/\\\#/g' ./file.txt
sed -i 's/\$/\\\$/g' ./file.txt
sed -i 's/\%/\\\%/g' ./file.txt
sed -i 's/\&/\\\&/g' ./file.txt
sed -i 's/\_/\\\_/g' ./file.txt
Điều này có đúng không?
Thật không may, tệp quá lớn để mở trong bất kỳ phần mềm GUI nào, vì vậy hãy kiểm tra xem dòng sed
của tôi có chính xác không bằng trình soạn thảo văn bản. Tôi đã cố gắng tìm kiếm với grep
, nhưng việc tìm kiếm không hoạt động như mong đợi (ví dụ dưới đây, tôi đã tìm kiếm cho bất kỳ dòng có chứa "$"):
grep "\$" file.txt
- là gì cách tốt nhất để đưa "\" trước của những nhân vật này?
- Tôi làm cách nào để sử dụng
grep
để kiểm tra thành công các dòng có thay thế?
Bạn có thể đảm bảo rằng bạn không có bất kỳ ký tự đặc biệt nào được ALREADY thoát? – wim
Grep hoạt động như thế nào, nếu không như mong đợi? – chepner
Khi tôi chạy 'grep '\ $" file.txt' có vẻ như đang in mọi thứ ra hoặc gần như mọi thứ. Tôi không biết tại sao nó in quá nhiều văn bản, vì "$" là khá hiếm. – Village