我在採訪中遇到了這個問題。打開包含給定數據的文件的命令
他把我面前的情況說明你的Linux操作系統中有12個文件。 給我一個命令,將打開一個包含數據「你好」的文件。
我告訴他我只知道grep
命令,它會給你帶有「Hello」數據的文件名。
請告訴我,如果有任何命令來打開這樣一個文件..
我在採訪中遇到了這個問題。打開包含給定數據的文件的命令
他把我面前的情況說明你的Linux操作系統中有12個文件。 給我一個命令,將打開一個包含數據「你好」的文件。
我告訴他我只知道grep
命令,它會給你帶有「Hello」數據的文件名。
請告訴我,如果有任何命令來打開這樣一個文件..
假設這將只有一個含有字hello
文件:
less $(grep -H "hello" *.txt | sed s/:.*//)
這是第一地捕獲使用grep
與-H
參數的文件名。然後使用sed
刪除除文件名外的所有內容。最後使用less
來打開文件。
爲什麼不''grep -l hello * .txt',並擺脫'sed'位? – twalberg
@twalberg是的,它更好。不知道它。謝謝!! –
也許這可以幫助:
$ echo "foo" > file1.txt
$ echo "bar" > file2.txt
$ grep -l foo * | xargs cat
foo
你有2個文件,而你正在尋找一個與字符串「富」在它。用你選擇的命令更改cat
到打開文件。可以嘗試vi
,emacs
,nano
,pico
......(不,另一個戰爭的火焰!)
你可能想嘗試不同的方法,如果有幾個文件,包含你正在尋找串...只是覺得只有一個包含該字符串的文件。
定義「打開」 - >用'vi'編輯,用'cat'打印...? – fedorqui
'cat *'會打開所有的文件,並打開包含數據「Hello」的文件,但我的猜測是,這不是他們想要的......沒有更多的信息,但很難說... – twalberg