몇 가지 변경 사항을 적용하고 싶은 bash 파일이 있습니다.
sed -i 's/ / /g' testfile
sed -i -e 's/#[a-z]$//' -e '/^$/d' testfile
sed -i 's/ *$//' testfile
sed '/##=/ r header' testfile
첫 번째 명령에서는 TAB을 공백으로 바꾸고 그 후에 주석(##으로 시작하는 주석도 있음)과 빈 줄을 제거하려고 합니다. 그런 다음 내 파일에 지정된 패턴 뒤에 파일을 삽입하고 싶습니다. 명령 순서에 문제가 있습니까?
답변1
sed 한 번에 여러 명령을 내릴 수 있습니다. 예를 들면 다음과 같습니다.
sed 's/\t/ /g;/^ *$/d;s/^#/NODIESE/' testfile
이 한 줄
- 탭을 공백으로 교체
- 빈 내용(또는 빈 줄)으로 시작하는 줄 삭제
- 시작 부분의 대시를 NODIESE라는 단어로 바꿉니다.
따라서 테스트 파일은 한 번만 처리되고 sed는 한 번만 시작됩니다.