![Linux의 각 텍스트 줄에 balise [img][/img]를 추가하는 스크립트는 무엇입니까? [복사]](https://linux55.com/image/147004/Linux%EC%9D%98%20%EA%B0%81%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%EC%A4%84%EC%97%90%20balise%20%5Bimg%5D%5B%2Fimg%5D%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
[img]
방금 웹 호스트에 이미지 파일을 업로드하는 스크립트가 있었고 모든 링크(한 줄에 하나의 링크)가 포함된 파일이 있었고 각 링크의 시작과 끝에 추가 하고 싶었습니다 [/img]
.
답변1
[img]
파일의 각 줄의 시작과 끝에 만 추가하려는 경우 다음을 수행 [/img]
할 수 있습니다 awk
.
awk '{ print "[img]" $0 "[/img]" }' infile >outfile
또는,
awk '{ printf("[img]%s[/img]\n", $0) }' infile >outfile
답변2
한 가지 방법은 스트림 편집기 sed를 사용하는 것입니다.
sed -e 's/^/[img]/' -e 's!$![/img]!' < input > output
여기서는 두 번째 검색에 대한 구분 기호를 변경하고 대체 텍스트의 슬래시를 이스케이프할 필요가 없도록 /
from to를 대체했습니다. !
GNU sed는 다음 옵션을 사용하여 내부 편집을 허용합니다 -i
.
sed -i -e 's/^/[img]/' -e 's!$![/img]!' input
또는 다음 명령을 사용하여 파일을 편집할 수 있습니다 ed
.
ed -s input <<< $'1,$s/^/[img]/\n1,$s!$![/img]!\nw\nq'