Linux의 각 텍스트 줄에 balise [img][/img]를 추가하는 스크립트는 무엇입니까? [복사]

Linux의 각 텍스트 줄에 balise [img][/img]를 추가하는 스크립트는 무엇입니까? [복사]

[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'

관련 정보