gpt4 book ai didi

linux - 仅提取文件名的 Shell 脚本

转载 作者:行者123 更新时间:2023-12-02 09:04:33 24 4
gpt4 key购买 nike

我有这样的文件格式(publishfile.txt)

drwxrwx---+  h655201 supergroup          0  2019-04-24  09:16  /data/xyz/invisible/se/raw_data/OMEGA
drwxrwx---+ h655201 supergroup 0 2019-04-24 09:16 /data/xyz/invisible/se/raw_data/sample
drwxrwx---+ h655201 supergroup 0 2019-04-24 09:16 /data/xyz/invisible/se/raw_data/sample(1)

我只想提取名称OMEGA****,sample,sample(1)如何我可以在代码中使用 basename 但它在 for 循环中不起作用吗?这是我的示例代码

for line in $(cat $BASE_PATH/publishfile.txt)
do
FILE_PATH=$(echo "line"| awk '{print $NF}' )
done
FILE_NAME=($basename $FILEPATH)

但是当在 for 循环外部使用时,此代码也不起作用

最佳答案

awk -F / '{ print $NF }' "$BASE_PATH"/publishfile.txt

这只是说分隔符是斜杠,我们想要每行的最后一个字段。

您基本上不应该在 shell while read 循环中的每个输入行上运行 Awk(更不用说 a for loop) ;Awk 本身默认执行此操作,比 shell 更快、更好。

关于linux - 仅提取文件名的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60029962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com