查找文件并仅打印partial-parent-folder + filename

问题描述 投票:3回答:1

这个问题与我正在寻找的问题非常相似。 Find files and print only their parent directories

我不想打印完整路径,而是打印一半和文件本身。

例:

/disk1/data/foo-1/xx.csv
/disk1/data/foo7/yy.csv
/disk1/data/bar-2/zz.csv
/disk1/data/bar9/nn.csv

我想打印如下:

foo-1/xx.csv
foo7/yy.csv
bar-2/zz.csv
bar9/nn.csv

我目前正在使用此代码:

find ${base_folder} -type f -mmin +2 -name "*.csv" -print | rev | cut -d"/" -f1-2 | rev > ${LIST}

这是有效的,几个月来它一直在工作。

我想知道是否有更好/更漂亮的方法来编写相同的代码。

bash find
1个回答
3
投票

使用find -printf%P避免在输出中包含base_folder

find "$base_folder" -type f -mmin +2 -name "*.csv" -printf '%P\n'
© www.soinside.com 2019 - 2024. All rights reserved.