줄에 두 개의 값(열)만 포함되어 있는 경우 특정 문자열이 있는 파일 줄을 모두 삭제하고 싶습니다. sed를 사용해 보았지만 해당 문자열이 포함된 모든 줄이 삭제됩니다.
sed '/string/d' file
ex XX 문자열의 경우 입력 파일은 다음과 같습니다.
A B C D
XX 5 6
XX 2
XX 1 2 3
출력 파일은
A B C D
XX 5 6
XX 1 2 3
답변1
한 가지 방법은 패턴 부분을 사용하여 true로 평가하여 기본적으로 줄을 인쇄하는 것입니다.
awk -v str="XX" '
NR == 1 || $1 != str || NF != 2
' file
대상 문자열이 첫 번째 필드에서만 일치한다고 가정합니다.