la() {
ls -lhAXF "$@" | awk '
BEGIN {
FPAT = "([[:space:]]*[^[:space:]] )";
} {
$1 = "\033[1m" "\033[31m" $1 "\033[0m";
$2 = "\033[1m" "\033[32m" $2 "\033[0m";
$3 = "\033[1m" "\033[33m" $3 "\033[0m";
$4 = "\033[34m" $4 "\033[0m";
$5 = "\033[1m" "\033[35m" $5 "\033[0m";
$6 = "\033[1m" "\033[36m" $6 "\033[0m";
$7 = "\033[1m" "\033[37m" $7 "\033[0m";
$8 = "\033[1m" "\033[33m" $8 "\033[0m";
print
}'
}
這將使 ls -lhAXF 的輸出著色如何使用正則運算式將顏色應用于特定型別的專案,例如我希望檔案夾為綠色,.config 檔案夾為紅色,常規檔案為藍色或類似的。
檔案夾 - 匹配包含“/”的 $9 列隱藏檔案夾 - 匹配包含 '.' 的 $9 列 在單詞常規檔案的開頭 - 列 $9 中的其余部分不匹配
如何將正則運算式應用于awk中的特定列?我正在使用 Debian 11
uj5u.com熱心網友回復:
如何將正則運算式應用于awk中的特定列?
GNU 中的語法AWK如下
$1~/pattern/
1列數在哪里。考慮下面的簡單例子,讓file.txt
1. ABC
2. 123
3. DEF
然后
awk '{print $2~/^[0-9]*$/}' file.txt
輸出
0
1
0
說明:這會檢查第二列 ( $2) 內容是否僅由數字組成。^表示場開始,$表示場結束。
(在 GNU Awk 5.0.1 中測驗)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/346041.html
上一篇:中斷句柄
