다음과 같은 쉼표로 구분된 데이터가 있습니다(시각적 명확성을 위해 공백 사용).
1 2014 23 2352 19.24 7.18
1 2014 23 2353 19.78 4.65
24 2014 23 2354 20.26 25.34
1 2014 23 2355 26.65 42.76
1 2014 23 2356 27.34 56.356
1 2014 23 2357 29.24 45.4
24 2014 23 2358 30.23 345.27
1 2014 23 2359 23.23 345.21
1 2014 24 0000 12.53 1.98
1 2014 24 0001 7.24 12.3
24 2014 24 0002 15.68 90.8
24로 시작하는 모든 줄을 삭제하고 싶습니다(또는 어느 쪽이든 1로 시작하는 모든 줄을 유지하고 싶습니다).
따라서 원하는 출력은 다음과 같습니다.
1 2014 23 2352 19.24 7.18
1 2014 23 2353 19.78 4.65
1 2014 23 2355 26.65 42.76
1 2014 23 2356 27.34 56.356
1 2014 23 2357 29.24 45.4
1 2014 23 2359 23.23 345.21
1 2014 24 0000 12.53 1.98
1 2014 24 0001 7.24 12.3
나는 열심히 노력했다
sed '/24/d' (filename)
그러나 이렇게 하면 다음과 같이 전체 파일에서 24의 모든 인스턴스가 제거됩니다(필요하지 않음!).
1 2014 23 2353 19.78 4.65
1 2014 23 2355 26.65 42.76
1 2014 23 2356 27.34 56.356
1 2014 23 2359 23.23 345.21
답변1
( 줄 시작 부분의 모든 내용을 인쇄합니다) awk
:1
awk '/^1/{print $0}'
sed
( -n
모든 내용을 인쇄하지 않으려면 옵션을 사용하세요 ):
sed -n '/^1/p'
사용하십시오 grep
(텍스트 처리에 가장 적합한 선택은 아니지만 이 경우에는 충분합니다).
grep '^1'
답변2
grep -v ^24
24로 시작하지 않는 줄만 유지하세요.