스크립트 파일을 구분된 문서로 sed에 전달하는 방법은 무엇입니까?

스크립트 파일을 구분된 문서로 sed에 전달하는 방법은 무엇입니까?

그러면 "a"가 "A"로 변환됩니다.

sed 's/a/A/g' <(echo "foobar")
foobAr

이는 각 모음을 대문자로 시작하는 데 필요한 명령을 제공합니다.

$ cat << EOF
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF

내가 하고 싶은 것은 각 모음이 대문자로 표시되도록 첫 번째 예제를 확장하고 두 번째 예제에 표시된 대로 여기 문서를 사용하는 것입니다. 어떤 제안이 있으십니까?

남성:

sed [옵션]... {스크립트만, 다른 스크립트가 없는 경우} [입력 파일]...

-f script-file, --file=script-file 실행할 명령에 script-file의 내용을 추가합니다.

답변1

표준 입력에서 스크립트를 읽어야 함을 나타내기 위해 -with를 사용할 수 있습니다 .sed -f

$ cat << EOF | sed -f - <(echo foobar)
s/a/A/g
s/e/E/g
s/i/I/g
s/o/O/g
s/u/U/g
EOF
fOObAr

답변2

이 경우 tr적절한 해결책은 다음과 같습니다.

$ echo foobar | tr [aeiou] [AEIOU]
fOObAr

관련 정보