일치하는 줄 뒤에서 시작하여 파일의 모든 줄을 삭제하려면 어떻게 해야 합니까?
여러 줄의 텍스트로 구성된 파일이 있습니다.
The first line
The second line
The third line
The fourth line
줄 중 하나인 문자열이 있습니다.The second line
파일에서 문자열과 뒤에 있는 모든 행을 삭제하려고 합니다. 그러면 삭제됩니다.The third line그리고.The fourth line현에 더하여.파일은 다음과 같습니다.
The first line
구글에서 해결책을 찾아봤는데, 사용해야 할 것 같습니다.sed다음과 같은 것:
sed 'linenum,$d' file
그런데 어떻게 문자열의 줄 번호를 찾을 수 있습니까?아니면 어떻게 해야 하나요?
일치하는 줄(또는 다음 줄)을 인쇄하지 않으려면:
sed -n '/The second line/q;p' inputfile
이것은 "패턴과 일치하는 라인에 도달하면 종료하고, 그렇지 않으면 각 라인을 인쇄합니다."라고 말합니다.그-n옵션은 암묵적인 인쇄를 방지하고p선을 명시적으로 인쇄하려면 명령이 필요합니다.
또는
sed '/The second line/,$d' inputfile
이것은 "일치된 줄에서 시작하여 파일의 끝까지 계속되는 출력에서 모든 줄을 삭제합니다"라고 말합니다.
하지만 첫 번째 것이 더 빠릅니다.그러나 처리가 완전히 중지되므로 여러 개의 파일을 인수로 지정한 경우 첫 번째 일치 파일 이후의 파일은 처리되지 않습니다.이 경우 삭제 양식이 더 좋습니다.
일치하는 라인을 인쇄하려면 다음 라인은 인쇄하지 마십시오.
sed '/The second line/q' inputfile
이것은 "모든 라인을 인쇄하고 일치하는 라인에 도달하면 종료"라고 말합니다. (다음과 같이)-n옵션(암묵적 인쇄는 사용되지 않음).
자세한 내용은 maned를 참조하십시오.
이것은 다른 주어진 솔루션보다 약간 짧습니다.대문자 Q 사용을 중지하면 현재 행이 인쇄되지 않습니다.
sed '/The second line/Q' file
실제로 행을 삭제하려면 동일한 구문을 사용할 수 있습니다.
sed -i '/The second line/Q' file
awk 사용(일치된 선이 표시되지 않음)
awk '/pattern/ {exit} {print}' file.txt
sed '/The second line/q0' file
또는 ngus 없이:
sed '/The second line/q' file
또는 grep 사용:
grep -B 9999999 "The second line"
먼저 라인 번호를 추가하고 라인을 삭제합니다.
cat new.txt
The first line
The second line
The third line
The fourth line
cat new.txt | nl
1 The first line
2 The second line
3 The third line
4 The fourth line
cat new.txt | nl | sed "/2/d"
1 The first line
3 The third line
4 The fourth line
cat new.txt | nl |sed "3d;4d"
1 The first line
2 The second line
어색함을 사용하여
awk 'NR!=3 && NR!=4' new.txt
The first line
The second line
awk '/The second line/{exit}1' file
언급URL : https://stackoverflow.com/questions/5227295/how-do-i-delete-all-lines-in-a-file-starting-from-after-a-matching-line
'programing' 카테고리의 다른 글
| mongodb에 인덱스가 있는지 확인하는 중 (0) | 2023.06.01 |
|---|---|
| iOS 애플리케이션에서 n분마다 백그라운드 위치 업데이트를 받으려면 어떻게 해야 합니까? (0) | 2023.06.01 |
| 안드로이드 애플리케이션에서 충돌 데이터를 가져오려면 어떻게 해야 합니까? (0) | 2023.06.01 |
| 스토어를 여는 데 사용된 모델이 스토어를 만드는 데 사용된 모델과 호환되지 않습니다. (0) | 2023.06.01 |
| Node.jsfs.readdir 재귀 디렉터리 검색 (0) | 2023.06.01 |