我在采访中遇到了这个问题。打开包含给定数据的文件的命令
他把我面前的情况说明你的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