过滤掉文本以删除目录并仅保留文件

met*_*lah 1 bash

grep -r "TESTPROGS/" /home/am/test.txt在此文件上运行以下命令:

AMPROGS/
AMPROGS/TqaWhkhiCx8ymy8lIR2p.SH
AMPROGS/iOryQxYtZwhkl0x7CcmW.SH
AMPROGS/a14KbHWjbnWehzkmDWuv.SH
TESTPROGS/
TESTPROGS/HRH7B76fogxwX6zEe7w8.SH
TESTPROGS/m0np3yEbpplqk36wVJ1l
TESTPROGS/t8ZCuJMgZO9accbjoDnp
Run Code Online (Sandbox Code Playgroud)

返回以下结果:

TESTPROGS/
TESTPROGS/HRH7B76fogxwX6zEe7w8.SH
TESTPROGS/m0np3yEbpplqk36wVJ1l
TESTPROGS/t8ZCuJMgZO9accbjoDnp
Run Code Online (Sandbox Code Playgroud)

我现在如何完全剥离TESTPROGS,所以我有这个:

HRH7B76fogxwX6zEe7w8.SH
m0np3yEbpplqk36wVJ1l
t8ZCuJMgZO9accbjoDnp
Run Code Online (Sandbox Code Playgroud)

hek*_*mgl 5

用途awk:

awk -F'/' '$1=="TESTPROGS" && $2 != "" {print $2}' /home/am/test.txt
Run Code Online (Sandbox Code Playgroud)

-F/将输入行拆分为由分隔的字段/.$1=="TESTPROGS"检查第一个字段是否等于TESTPROGS.如果这是真的并且第二个字段不为空,则打印第二个字段.