Answers:
尝试这个:
find . -type f | sed -rn 's|.*/[^/]+\.([^/.]+)$|\1|p' | sort -u
它不输出任何内容:
将其通过管道传输到可能也很有用sort | uniq -c
。
-E
的,而不是-r
在OS X
find . -type f | sed -E 's/.+[\./]([^/\.]+)/\1/' | sort -u
在OS X上可用,但不带扩展名的文件除外。我的下载文件夹:
DS_Store
dmg
exe
localized
msi
nib
plist
pmproj
rar
tgz
txt
webloc
zip
您可能需要sed -r
代替吗?
次要问题:不带扩展名的文件将打印其名称。隐藏的文件(例如.DS_Store
)会打印其名称而不加前导.
。
sort -u
不要使用sort | uniq
。减少分叉和资源使用。
[]
。
sed: illegal option -- r