在文件中的一行中查找字符串并将其显示在unix中

时间:2014-02-07 12:46:25

标签: unix command

我有一个文件,其中有三行如下;

/abdf/rewisf/dkjrtr/ser/co.c  -o /abdf/rewisf/dkjrtr/wrewr.o
/erwrw/srejr/eroi -I/serwr/erw/reti/ -o /erwer/tryps/trtwre.o
/serer/rtppqwe/rtr -lm -Isejr/ekrlafk -o ekr/eirw/qwpog/gset.o

我需要一个unix命令,它只显示以“.o”扩展名结尾的文件,上面一行显示完整路径名。 例如,在上述情况下,我的要求应在每一行中显示以下内容;

/abdf/rewisf/dkjrtr/wrewr.o
/erwer/tryps/trtwre.o
/ekr/eirw/qwpog/gset.o

请帮忙。非常感谢您的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

使用sed:

sed -n 's/^.*\( .*\.o\).*$/\1/gp' test.txt

只会找到一个模式的实例!如果你有一个接受-o作为选项的grep版本,你可以使用:

egrep -o ' .*.o' test.txt