sed 텍스트 조작

배경

일일 작업은 이전에 스크립트를 작성하여 수행했던 텍스트에 대한 일부 작업을 라인 단위로 수행 python하지만 이 방법은 더 많은 스크립트를 작성하게 되어 처리하기가 불편합니다.
이 문서에서는 sed텍스트에 대해 간단한 처리를 수행할 수 있는 명령을 주로 소개합니다.
sed명령에 대한 전체 소개는 https://www.runoob.com/linux/linux-comm-sed.html
구문:
sed [1][2][텍스트 파일]
위치 1 매개변수를 참조하세요. 이 문서에서는 주로 -nand-i

  • -n 또는 --quiet 또는 --silent는 스크립트 처리 결과만 표시합니다.
  • -i는 터미널에 출력하지 않고 읽은 파일의 내용을 직접 수정합니다.
  • -e <script> 입력된 텍스트 파일을 옵션에 지정된 스크립트로 처리합니다.
  • -f<스크립트 파일> 또는 --file=<스크립트 파일> 옵션에 지정된 스크립트 파일로 입력 텍스트 파일을 처리합니다.
  • -h 또는 --help 도움말을 표시합니다.
  • -V 또는 –version 버전 정보를 표시합니다.

위치 2 매개변수, 이 문서에서는 주로 사용 d하고p

  • a : 새로 추가된 a 다음에 문자열이 올 수 있으며 이 문자열은 새 줄(현재 다음 줄)에 나타납니다.
  • c: 바꾸기, c 다음에 문자열이 올 수 있습니다. 이 문자열은 n1과 n2 사이의 줄을 바꿀 수 있습니다!
  • d : 삭제, 삭제이기 때문에 일반적으로 d 이후에는 아무 것도 연결되지 않습니다.
  • i : 삽입, i 다음에 문자열이 올 수 있으며 이러한 문자열은 새 줄(현재 이전 줄)에 나타납니다.
  • p : 인쇄, 즉 선택한 데이터를 인쇄합니다. 일반적으로 p는 sed -n~ 매개변수와 함께 실행됩니다.
  • s : 교체, 직접 교체 작업을 진행하실 수 있습니다! 일반적으로 이 작업은 정규 표현식과 일치시킬 수 있습니다!

txt에서 몇 줄을 선택하고 새 txt에 저장합니다.

cat a.txt
1
2
3
4
5
6
7
8
9
10
# 选取a.txt中2-6行至b.txt中
sed -n '2,6p' a.txt > b.txt
cat a.txt
1
2
3
4
5
6
7
8
9
10
cat b.txt
2
3
4
5
6

txt의 일부 줄을 삭제하고 나머지 내용을 새 txt에 저장

매개변수를 제거 -n하고 p다음으로 바꿉니다.d

# 删除a.txt中2-6行并将剩余内容保存至b.txt中
sed '2,6d' a.txt > b.txt
cat a.txt
1
2
3
4
5
6
7
8
9
10
cat b.txt
1
7
8
9
10

txt의 일부 줄을 삭제하고 txt를 업데이트합니다.

매개변수 추가-i

cat a.txt
1
2
3
4
5
6
7
8
9
10
# 删除a.txt中2-6行
sed -i '2,6d' a.txt
cat a.txt
1
7
8
9
10

참고

https://www.runoob.com/linux/linux-comm-sed.html

おすすめ

転載: blog.csdn.net/qq_41994006/article/details/131399340