我想在Linux上使用AWK命令打印具有2个以上扩展名的文件的路径。
我想要一些文件的打印路径,例如file.ext1.ext1(具有重复扩展名的文件)
对于误导性评论感到抱歉,这是另一个问题,我删除了。
答案 0 :(得分:2)
awk
救援!
检查是否有任何扩展名是相同的。 例如file.x.y.z.x
$ find . -type f |
awk -F'/' '{n=split($NF,a,".");
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(a[i]==a[j]) {print; next}}'
也许你的问题是找到包含多个扩展名的文件?如果是这样,那就容易多了
$ find . -type f | awk -F'/' 'split($NF,a,".")>2'
答案 1 :(得分:1)
for i in `find . -type f`; do echo $i|awk -F. '{if$((NF-1)==$NF){print}}'; done
示例结果
./temp/Release_V1.0.2.backup.zip.zip
./temp/file1.2.txt.txt
for i in `find . -type f`; do echo $i|awk -F. '{for (j=NF;j>0;j--){if($j==$(j-1)){print ; break}}}'; done
示例结果
./temp/file1.2.txt.txt.zip
./temp/Release_V1.0.2.backup.zip.zip
./temp/file1.2.txt.txt
答案 2 :(得分:-2)
ls|awk 'FS="." {if($3==".")print $1 "." $}'