如何同时进行 grep 和 cut

发布于 2024-11-16 13:58:59 字数 390 浏览 1 评论 0原文

同时进行抓取和切割时遇到困难 我有一个文件 test.txt。 文件里面是这个语法

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

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

我如何在 test.txt 中搜索 blah.txt 并将 /home/john/Documents/play/blah.txt 剪切出来并放入它在一个变量中

Having trouble with grepping and cutting at the same time
I have a file test.txt.
Inside the file is this syntax

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

My command is ./delete -r (filename), say filename is blah.txt.

How would i search test.txt for blah.txt and cut the /home/john/Documents/play/blah.txt out and put it in a variable

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

农村范ル 2024-11-23 13:58:59
grep -P "^File: blah\.txt Location: .+" test.txt | cut -d: -f3
grep -P "^File: blah\.txt Location: .+" test.txt | cut -d: -f3
本宫微胖 2024-11-23 13:58:59

总是希望在您的任务中尽可能少地涉及外部命令。

您可以使用 single awk 命令实现您想要的效果:

awk '/^File: blah.txt/ { print $4 }' test.txt

Prefer always to involse as less as possible external command for your task.

You can achive what you want using single awk command:

awk '/^File: blah.txt/ { print $4 }' test.txt
烏雲後面有陽光 2024-11-23 13:58:59

试试这个;)

filename=$(grep 'blah.txt' test.txt | grep -oP 'Location:.*' | grep -oP '[^ ]+
)
./delete $filename

Try this one ;)

filename=$(grep 'blah.txt' test.txt | grep -oP 'Location:.*' | grep -oP '[^ ]+
)
./delete $filename
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文