我有这个命令:
find <path> -mindepth 2 -type f -name '*_????????????.csv' -printf '\n%AD %AT %p' | sort -b -nr | cut -c 30-
结果:
Date, Time and Path
但我需要打印?
中的内容(_
和.csv
之间)。
答案 0 :(得分:0)
让我们说你的文件夹结构如下:
ubuntu# find ./ -type f -name '*.csv'
./file_12345.csv
./subfolder/moremore_hahahaha.csv
./45468_somefile.csv
在这种情况下,这样做:
find ./ -type f -name '*.csv' -exec basename {} \; | awk -F'[_.]' '{print $2}'
结果:
12345
hahahaha
somefile
根据OP的评论编辑:
find ./ -type f -name '*.csv' -printf '\n%AD %AT %p' | awk '{ $4 = $3 ; sub(/[.]csv/,"",$3) ;sub(/.*_/," ",$3) ; print $1 " " $2 " " $4 " " $3}'
问候!