
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
긴급히 당신의 도움이 필요합니다! 건배.
답변1
awk
문자열을 하위 문자열로 포함하지 않는 열 1, 3 또는 4의 행을 추출하는 데 사용됩니다 .dBm
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
세 개의 열 각각과 일치하며, 그 중 어느 것과도 일치하지 않으면 원래 행을 출력합니다.
답변2
$ awk -F'|' '($1 FS $3 FS $4) !~ /dBm/' file
RefNum|Date|Info|LTC|ICD|MLBB
GHI789|010219|||C2|AA30
JKL111|010219|54|17||SK10