我正在寻找一个执行以下操作的linux bash脚本:它以一个文件夹作为输入,并输出出现在该文件夹中的所有扩展名。
例如 脚本的输入:包含3个mp3文件和2个png的文件夹的路径。 脚本输出:“ mp3,png”
答案 0 :(得分:1)
find . -maxdepth 1 -type f|perl -ne 'print $1 if m/\.([^.\/]+)$/'|sort -u|xargs|sed 's/ /, /g'
jpg,日志,mp3,mp4,png,我们,网络,webp
答案 1 :(得分:-1)
这应该完成任务:
cat le
#!/bin/bash
ls $1|sed -nr 's/.*(\..*)$/\1/;s/\.//p'
并运行它:
~/tmp5$ ./le .
csv
txt
简要说明:
ls $ 1#对传入的名称执行ls
sed,默认情况下不打印任何内容(使用-n
),然后删除最后一个.
之前一行的所有内容,然后删除句点并打印必须的行。