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