Cách tốt nhất để thêm một số ký tự ở đầu và cuối mỗi dòng là gì? Nó có thể được thực hiện bằng cách sử dụng Vim, hoặc một số cách khác?Thêm ký tự ở đầu và cuối mỗi dòng trong một tệp
Trả lời
Trong vim, bạn có thể làm
:%s/^\(.*\)$/"\1"/
s/regex/replace/
là lệnh vim cho tìm kiếm n thay thế.%
làm cho nó sử dụng xuyên suốt các tập tin^
và$
biểu thị bắt đầu và kết thúc của dòng tương ứng.(.*)
ghi lại mọi thứ ở giữa.(
và)
cần phải được thoát trong regexes vim.\1
đặt nội dung bị bắt giữa hai dấu ngoặc kép.
tốt hơn util sẽ được sed (đặc biệt nếu bạn cần phải kịch bản nó)
cat foo.txt | sed s/^\(.*\)$/"\1"/g
đơn giản:
%s/.*/"&"
Giải thích: Theo mặc định, một mô hình được hiểu như là lớn nhất có thể khớp, do đó, .*
được hiểu là toàn bộ dòng, không cần ^
và $
. Và trong khi \(
... \)
có thể hữu ích khi chọn một phần của mẫu, không cần thiết cho toàn bộ mẫu, được thể hiện bằng cách &
trong thay thế . Và /
cuối cùng trong một tìm kiếm hoặc thay thế là không cần thiết trừ khi một cái gì đó khác sau; mặc dù bỏ nó ra có thể được coi là lười biếng. (Nếu vậy, tôi lười.)
Hai câu trả lời gợi ý %s
là hoàn hảo và tôi hy vọng bạn sẽ học cách yêu thích %s
và sử dụng thường xuyên. Nhưng nếu bạn thấy mình muốn bao quanh các khối khác của văn bản thường xuyên, bạn nợ nó cho chính mình để kiểm tra các plugin surround.vim, mà sẽ cho phép bạn làm những gì bạn yêu cầu với bốn tổ hợp phím sau đây: yss"
Và có nhiều khác các mục tiêu vòm tích hợp hữu ích. Ví dụ: để bao quanh từ hiện tại với dấu ngoặc kép: csw"
và để thay đổi dấu ngoặc đơn xung quanh thành dấu ngoặc kép: cs'"
.
surround.vim là một trong các plugin vim yêu thích của tôi và tôi sử dụng nó hàng ngày.
'yss '' thực sự là năm lần nhấn phím, nếu bạn đếm số
- 1. Tệp hàng loạt để thêm ký tự vào đầu và cuối mỗi dòng trong tệp txt
- 2. Thêm một số ký tự ở đầu mỗi dòng
- 3. Cách thêm chuỗi ở đầu mỗi dòng trong một tệp
- 4. Notepad ++ RegEx Tìm kiếm/Thay thế: Cách chắp thêm và thêm một ký tự ở đầu và cuối mỗi dòng tệp?
- 5. Ký tự '^ M' ở cuối dòng
- 6. Cách thêm văn bản ở cuối mỗi dòng trong Vim?
- 7. Phụ thêm ký tự vào cuối của mỗi dòng trong Emacs
- 8. Thêm ký tự vào đầu và cuối InputStream trong Java
- 9. Xóa hai ký tự cuối cùng khỏi mỗi dòng trong một tệp văn bản
- 10. Thêm ký tự vào đầu và cuối của chuỗi
- 11. Visual Studio - dòng trống ở cuối mỗi tệp mới
- 12. kịch bản Unix gắn thêm^M ở cuối mỗi dòng
- 13. bash thay thế ký tự đầu tiên trong mỗi dòng
- 14. Xóa ký tự/dòng cuối cùng
- 15. C++: Mỗi khi tôi đọc bằng fstream, tôi có thêm 1 ký tự ở cuối
- 16. Tôi làm cách nào để thêm một chuỗi vào đầu mỗi dòng trong một tệp?
- 17. thêm văn bản vào cuối mỗi dòng
- 18. Thêm một khoảng trắng ở cuối dòng trong Jade
- 19. Các dấu + ở cuối mỗi dòng dấu vết là gì?
- 20. Thêm dấu gạch chéo ở cuối mỗi url?
- 21. Di chuyển đến cuối dòng ký tự trong Vi, vượt qua ký tự cuối cùng trong dòng
- 22. cách tôi có thể thêm Thêm văn bản ở đầu mỗi dòng?
- 23. C# ngắt dòng mỗi n ký tự
- 24. awk in được thêm một nhân vật điều khiển m ở cuối dòng
- 25. Cách xóa ký tự 13 (hoặc n) cuối cùng của mỗi dòng bằng Notepad ++
- 26. Thêm ký tự Dòng mới trong localizable.strings
- 27. Điều gì sẽ là ký tự Unicode cho dấu đầu dòng lớn ở giữa ký tự?
- 28. đầu trăn và đuôi ở một dòng
- 29. Cách in chuỗi bằng cách sử dụng pl/sql mà không cần thêm ký tự dòng mới ở cuối
- 30. Cắt đầu/cuối dòng, dán lên đầu/cuối dòng
Cảm ơn .. đã hoạt động như một khoe! và cảm ơn lần nữa vì đã giải thích rất tốt .. – Myth
@Myth Thêm 'c' vào cuối để làm cho nó nhắc nhở cho mỗi dòng: bạn có thể nhấn y/n để thay thế hoặc bỏ qua dòng':% s/^ \ (. * \) $/"\ 1"/c' – Amarghosh
Thats khá tiện dụng .. bạn có thể chỉ cho tôi một số tài nguyên tốt để tìm hiểu regx? Xin lỗi vì sự chuyển hướng từ chủ đề chính. – Myth