4

在同时进行 grepping 和切割时遇到问题,我有一个文件test.txt。文件里面是这个语法

File: blah.txt Location: /home/john/Documents/play/blah.txt
File: testing.txt Location /home/john

我的命令是./delete -r (filename),说文件名是blah.txt.

我将如何搜索test.txtblah.txt删除/home/john/Documents/play/blah.txt并将其放入变量中

4

3 回答 3

8
grep -P "^File: blah\.txt Location: .+" test.txt | cut -d: -f3
于 2011-06-20T19:09:32.650 回答
5

总是希望尽可能少地为您的任务使用外部命令。

您可以使用单个 awk命令实现您想要的:

awk '/^File: blah.txt/ { print $4 }' test.txt
于 2011-06-20T19:43:51.627 回答
0

试试这个;)

filename=$(grep 'blah.txt' test.txt | grep -oP 'Location:.*' | grep -oP '[^ ]+$')
./delete $filename
于 2015-09-10T09:40:37.393 回答