我正在使用bash shell,我试图只打印第一次出现的字符串。例如,对于字符串“auir
”,如果我有文件myfile.txt并且它包含:
123
asdf
4wirajw
forauir somethingelse
starcraft
mylifeforauir
auir
something else
tf.rzauir
我想输出“forauir somethingelse
”
到目前为止,我使用命令
sed -n '/auir/p' myfile.txt
它给了我所有出现的这个字符串。我怎样才能获得“auir
”出现的第一行?如果它只是一个命令或命令管道,那就太好了。
非常感谢任何见解。
答案 0 :(得分:11)
使用此:
grep -m1 auir myfile.txt
答案 1 :(得分:5)
此sed
命令
sed -n '/auir/p' myfile.txt | head -1
解决您的问题。
答案 2 :(得分:5)
这可能对您有用:
sed '/auir/!d;q' file
或
sed -n '/auir/{p;q}' file
答案 3 :(得分:2)
sed -n -e'4s / auir / auir / p'file
答案 4 :(得分:1)
或者它可以像这个一样简单
grep auir myFile.txt|head -1