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

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

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

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

그래서 제가 사용하는 명령은 다음과 같습니다. 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와 같은 도구는 사용자가 수행하지 않는 파일에서 작동할 수 있습니다.가지다문자열을 표준 입력으로 전달합니다. 귀하의 질문에 대답하십시오 :

내 스크립트에서 해당 변수를 호출할 수 있도록 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

나도 그 점을 조사하고 싶습니다 mkfifo. text.txt를 구문 분석하는 데 행운을 빕니다.

관련 정보