shell方便的工具

2021-08-22 08:13:01 字數 813 閱讀 5412

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

方便的工具與勤思的大腦

作為開發人員,目睹了開發平台的演化,尤其是微軟的開發平台,功能越來越強大,使用起也越來越方便,很多任務具唾手可得,很多類庫和控制項可以信手拈來,輕而易舉地完成乙個任務,甚至可以完成乙個專案。在微軟的 vs平台裡,就大肆渲染了其令人驚嘆的 不用編寫一行 就能完成一定任務的能力。軟體開發平台的強大帶來的...

使用uTools打造方便工具流

utools已經夠強大了,不過對於我來說,它還是有很多 硬貨 沒法直接幹。比如 的相關處理等。而要處理這些東西,免不了就會涉及到很多諸如ffmpeg等強大的工具。但是使用這些工具就會和utools的使用的體驗有割裂感。並且這些工具會面臨乙個跨裝置使用的問題,每次跨裝置可能需要重新配置。所以今天我就來...

shell工具案例

1 使用linux命令查詢檔案中空行所在的行號 yege hadoop102 datas awk sed.txt 5 2 有檔案chengji.txt內容如下 張三 40 李四 50 王五 60使用linux命令計算第二列的和並輸出 yege hadoop102 datas cat chengji....