편집을 위해 sed 스크립트 파일을 생성하는 방법

편집을 위해 sed 스크립트 파일을 생성하는 방법

저는 영어를 모스 부호로 번역할 수 있는 sed 스크립트 파일을 만드는 임무를 맡았습니다. 하지만 먼저 모스 부호 파일을 sed 스크립트에 넣고 영어를 모스 부호로 번역하는 데 사용할 수 있는 파일로 변환하세요. 그래서 이 방법을 시도해봤습니다. 아래와 같이 sed 스크립트에서 파일을 만들었습니다.

s/[Aa]/\.-/g
s/[Bb]/-\.\.\./g
s/[Cc]/-\.-\./g
s/[Dd]/-\.\./g
s/[Ee]/\./g
s/[Ff]/\.\.-\./g
s/[Gg]/--\./g
s/[Hh]/\.\.\.\./g
s/[Ii]/\.\./g
s/[Jj]/\.---/g
s/[Kk]/-\.-/g
s/[Ll]/\.-\.\./g
s/[Mm]/--/g
s/[Nn]/-\./g
s/[Oo]/---/g
s/[Pp]/\.--\./g
s/[Qq]/--\.-/g
s/[Rr]/\.-\./g
s/[Ss]/\.\.\./g
s/[Tt]/-/g
s/[Uu]/\.\.-/g
s/[Vv]/\.\.\.-/g
s/[Ww]/\.--/g
s/[Xx]/-\.\.-/g
s/[Yy]/-\.--/g
s/[Zz]/--\.\./g
s/0/------/g
s/1/\.---/g
s/2/\.\.---/g
s/3/\.\.\.--/g
s/4/\.\.\.\.-/g
s/5/\.\.\.\.\./g
s/6/-\.\.\.\./g
s/7/--\.\.\./g
s/8/---\.\./g
s/9/----\./g

하지만 결국에는 영어를 모스 부호로 번역하는 데 사용할 수 있는 스크립트 파일이 있어야 합니다. 난 여기에 갇혀있어

답변1

이제 끝났습니다.

파일에서 스크립트를 실행하면 됩니다.

sed -f script.sed inputfile

예:

$ cat file
Kusalananda
$ sed -f script.sed file
-.-..-....-.-...--..--.-...-

스크립트에서 언급할 가치가 있는 유일한 점은 점이 대체 텍스트에 나타날 때 점이 이스케이프 처리될 필요가 없으며 스크립트가 구두점을 처리하지 않는다는 것입니다. 또한 디코딩을 더 쉽게 하기 위해 각 코드를 공백이나 다른 문자로 끝내고 싶을 수도 있습니다( s/\(.\)/\1 /g첫 번째 명령으로 실행하면 이렇게 할 수 있습니다).

[Aa]첫 번째 지시어를 다음과 같이 설정하여 이 작업을 수행할 수도 있습니다 .

s/\([A-Z]\)/\L\1/g

여기에는 GNU가 필요하지만 sed모든 문자를 소문자로 변환합니다.

GNU가 아닌 경우 sed다음 명령은 모든 문자를 소문자로 만듭니다.

y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/

원하시면 추가하셔도 됩니다

#!/usr/bin/sed -f

스크립트의 맨 윗줄에 추가하여 실행 가능하게 만드세요. 이렇게 하면 스크립트를 실행할 수 있습니다.

./script.sed file

전제는 온라인 경로가 sed정확하다는 것입니다 #!. .sed물론 파일 이름 확장자를 제거할 수도 있습니다. 아무것도 하지 않습니다.

관련 정보