用顏色編碼輸出
在腳本中調用其他二進制文件或腳本時,對它們的輸出進行顏色編碼,這樣就可以知道哪個輸出來自哪個腳本或二進制文件。這樣我們就不需要在滿屏的黑白輸出文本中查找想要的輸出結果。
理想情況下,腳本應該輸出白色(默認的,前臺進程),子進程應該使用灰色(通常不需要,除非出現錯誤),使用綠色表示成功,紅色表示失敗,黃色表示警告。
#!/bin/sh
printf -- 'doing something... \n';
printf -- '\033[37m someone elses output \033[0m\n';
printf -- '\033[32m SUCCESS: yay \033[0m\n';
printf -- '\033[33m WARNING: hmm \033[0m\n';
printf -- '\033[31m ERROR: fubar \033[0m\n';
顯示:
正則:獲取url鏈接後的目錄路徑
因需求需要把大批量的url鏈接做404處理,所以就要用腳本來執行。這時候就要用到正則來獲取每條鏈接後面的目錄路徑。
sed -ri 's#(https://)?([a-zA-Z0-9]+.)+[a-zA-Z](/)?[a-zA-Z0-9](/)##g' test.txt
執行例子: https://xxx.ccc.com/www/ert/uor/index.html ---> ert/uor/index.html
-r:可以不加脫義字符
-i:可以對文件內容真正的修改
(https://)? :表示匹配0或1個https://
[a-zA-Z0-9]+. :表示1或多個[ ]裏的內容,也就是一個xxx.
([a-zA-Z0-9]+.)+ :在上面的基礎上多了 ()+,就是多個xxx. ,也就是我們所謂的二級域名的前兩部分,也就是上述的xxx.ccc.
[a-zA-Z](/)? : 表示的是上述的 com/