Bash 如何从文件中提取精确数据?

Bash 如何从文件中提取精确数据?,bash,pid,tail,lsof,Bash,Pid,Tail,Lsof,我使用了这个命令-lsof+D/usr/bin,并生成了以下输出- COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME metacity 1347 gdm txt REG 8,1 609760 278555 /usr/bin/metacity tail 1474 root txt REG 8,1 59704 269067 /usr/bin/tail 现在我想从上面的输出中提取

我使用了这个命令-
lsof+D/usr/bin
,并生成了以下输出-

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
metacity  1347  gdm  txt    REG    8,1   609760 278555 /usr/bin/metacity
tail      1474 root  txt    REG    8,1    59704 269067 /usr/bin/tail
现在我想从上面的输出中提取
1474
,并尝试使用以下命令

lsof +D /usr/bin | grep "tail">tailfind.txt
但该命令正在注入以下信息-

tail      1474 root  txt    REG    8,1    59704 269067 /usr/bin/tail
现在,请帮助我从上述操作中仅获取特定列

感谢和问候,
Shah9il

最好使用
awk
搜索输入并打印特定列:


最好将
awk
条件更改为
/^tail/
,以避免捕获其他名称中碰巧有“tail”的程序……是的,我同意这样会更安全。我只是用了OP在
grep
lsof +D /usr/bin | awk '/tail/{print $2}'