Tìm kiếm văn bản cụ thể từ tệp và xuất dòng (Shell script)


12

Giả sử tôi có một biến $ str1

str1="20140121-21:48:26|Joanne Frances|"

Những gì tôi muốn làm là tìm kiếm phần đó trong tập tin. Tệp chứa, ví dụ:

20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|

Đầu ra phải là:

20140121-21: 48: 26 | Joanne Frances | Perez | 9173046751.000000 | ngày 31 tháng 3 |

Cập nhật: Cuối cùng cũng biết vấn đề là gì đã cố gắng echo $str1và nó xuất ra 20140121|Adrian Perez|có nghĩa là nó thực sự KHÔNG có trong tệp. Haaa! Tôi đúng là một người luộm thuộm! -_-


bạn chỉ có thể sử dụng grep. ví dụgrep $str filename.txt
— mcantsin

@mcantsin Tôi đã thử, nó không hoạt động
— joanne_

và lỗi gì? - Không có đầu ra?
— mcantsin

@mcantsin yup không có đầu ra!
— joanne_

Tôi đã thử nghiệm ví dụ của bạn và nó hoạt động hoàn hảo cho tôi. - Chắc chắn không có lỗi đánh máy?
— mcantsin

Câu trả lời:


12

Dùng cái này:

grep "$str" filename.txt

để ngăn chặn việc giải thích sai các ký tự đặc biệt.

Để biết thêm, hãy tham khảo điều này:

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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.