1.dirname:获取一个带路径文件所在的文件夹,省去自己写正则表达式去匹配 常见用法
cd `dirname $TARGET_FILE`
2.basename:获取一个带路径文件的文件名
3.文件重定向:有时候有的命令读取参数一定需要读取一个文件,可是你不想写这个文件,那就用重定向,比如:
需要文件是这样的格式 filelist.txt:
file '/path/1.mp4'
file '/path/2.mp4'
ffmpeg -safe 0 -f concat -i filelist.txt -c copy output.mp4
可以写成
ffmpeg -safe 0 -f concat -i <(echo -e "file '/path/1.mp4'\nfile '/path/2.mp4'") -c copy output.mp4
4.还有个不错的工具集 coreutils,mac上需要安装 brew install coreutils,注意这是GNU的东西。
5.find [xx] -print0 | xargs -0 [command]可以将路径和其他命令组合
比如删除当前文件夹及所有子文件夹下,小于10M的mp4文件
-print0 -0 可以避免空格把路径拆开,详情看man
find . -iname "[^.]*.mp4" -size -10M -print0|xargs -0 rm