GREP/AWK/CUT을 사용하여 특정 열에서 문자열 검색

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

긴급히 당신의 도움이 필요합니다! 건배.

답변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

프로그램 awkdBm세 개의 열 각각과 일치하며, 그 중 어느 것과도 일치하지 않으면 원래 행을 출력합니다.

답변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

관련 정보