Awk
使用 GREP/AWK/CUT 在特定列上搜尋字元串
請修改我的腳本,因為我想在 File.csv 的第 1,3 和 4 列中搜尋單詞“dBm”並返回所有不匹配的行/記錄,因為需要在文件中刪除“dBm”。
cat File.csv | grep -v dBm | sort -u -t '|' -k 1,1 -k 3,4 > Result.csv Sample File.csv RefNum|Date|Info|LTC|ICD|MLBB ABC123|010119|19 dBm||Milk|MII9 DEF456|010119|21|-5 dBm|Choco|KK20 GHI789|010219|||C2|AA30 JKL111|010219|54|17||SK10 Sample Result.csv RefNum|Date|Info|LTC|ICD|MLBB GHI789|010219|||C2|AA30 JKL111|010219|54|17||SK10
急需你的幫助!乾杯。
用於將
awk
不包含字元串的行提取為第dBm
1、3 或 4 列中的子字元串:awk -F '|' '!($1 ~ /dBm/ || $3 ~ /dBm/ || $4 ~ /dBm/)' file
給定您的第一條數據,這將輸出
RefNum|Date|Info|LTC|ICD|MLBB GHI789|010219|||C2|AA30 JKL111|010219|54|17||SK10
awk
程序匹配三列中的dBm
每一列,如果沒有匹配任何一列,則輸出原始行。
$ awk -F'|' '($1 FS $3 FS $4) !~ /dBm/' file RefNum|Date|Info|LTC|ICD|MLBB GHI789|010219|||C2|AA30 JKL111|010219|54|17||SK10