파일을 쉘 스크립트에서 변수로 읽는 방법은 무엇입니까?

파일을 쉘 스크립트에서 변수로 읽는 방법은 무엇입니까?

텍스트 파일을 읽고 텍스트 파일의 모든 개별 단어 수를 계산하는 작업을 수행하는 쉘 스크립트를 작성해야 합니다.

이러한 작업을 수행하는 데 필요한 모든 명령이 있지만 텍스트 파일을 쉘 스크립트에 입력하여 명령을 통해 사용하려면 어떻게 해야 합니까?

그래서 제가 사용하는 명령은 다음과 같습니다. 스크립트에서 변수를 호출할 수 있도록 text.txt를 변수로 사용하려면 어떻게 해야 할까요?

tr '[A-Z]' '[a-z]' < text.txt

답변1

간단하게 사용할 수 있습니다명령 대체:

variable=`cat text.txt`
echo $variable

또는 bash에서:

variable=$(cat text.txt)

와 같다:

variable=`tr '[A-Z]' '[a-z]' < text.txt`

답변2

tr 및 wc와 같은 도구는 파일에 대해 작동할 수 있습니다. 당신은하지 않습니다가지다문자열을 stdin에 전달합니다. 귀하의 질문에 답변하려면:

스크립트에서 변수를 호출할 수 있도록 text.txt를 변수로 사용하려면 어떻게 해야 합니까?

이에 대한 구문은 다음과 같습니다.

input=text.txt # or other file name
tr '[A-Z]' '[a-z]' $input

답변3

예시 파일

foo
        bar
    foo bar
foobar f0o b@rred

다음을 통해 생성됨

echo -e 'foo\n\t\tbar\n    foo bar\nfoobar f0o b@arred' | tee -a /tmp/foo.bar

Bash 변수의 파일 지속성(속기을 위한 $(cat file))

v="$(</tmp/foo.bar)"

다른 명령에 대한 입력으로 변수 사용(인쇄할 수 없는 문자 제거)

sed 's#@#a#; s@0@o@' <<<"${v//[![[:print:]]]}" | tail -1

마지막 줄을 출력해야 하며, 다음으로 교체 해야 @합니다 .a0o

foobar foo barred

또한 제가 조사하고 싶은 것 중 하나는 mkfifotext.txt 구문 분석에 행운이 있기를 바랍니다.

관련 정보