今天無意間看到一個 Youtube 推薦的駭客影片,雖然內容類似在解譯大陸牌子的網路攝影機 HTTPS 封包的內容,但在觀看的過程中,無意間發現作者使用了一個 "find ." 指令來列出現在目錄下的所有檔案,雖然我們可以用 ls -l 來印出檔案,但還需要再用 awk 取出檔名欄位,也無法列出子目錄的檔案,應該吧?
最近在整理別人的 code list 並加到 Synthesis TCL script 中,之前還傻傻的一個目錄一個目錄進去 ls,原來還有更快的方法,只要組合一堆指令,然後在根目錄打出這一串組合指令即可。
因為 "find ." 列出所有的檔案前面會包含 ".",雖然不影響結果,但看了就是不順眼XD
接著使用 sed 把 "." 去掉,最後再用之前這篇文章的做法,加上 $PWD 字串。
不得不承認 Linux 跟 vim 一樣,每天都能發現新玩意!
雖然我覺得一定還有其他做法,但等到下次發現新大陸時再說吧XD
2024/08/19 更新
原來用 "ls -1" 可以只列出檔案名稱並且 line by line 顯示。
所以我建了兩條 alias,一個配合 "ls -1",一個用 find 跨目錄搜尋。
因為用 alias 要跳脫,故把 fabs_name 簡化一下,不要把 "find ." 結果的 "/" 濾掉,將 "\/" 改放進括弧內 (\/.*) 也就是我們要取的 \1,這樣後面的 awk print 就可以簡化,不然很難懂XD
沒有留言:
張貼留言