텍스트 파일을 읽고 텍스트 파일에 있는 모든 단어의 수를 계산하는 작업을 수행하는 쉘 스크립트를 작성해야 합니다.
이러한 작업을 수행하는 데 필요한 모든 명령이 있지만 텍스트 파일을 쉘 스크립트에 입력한 다음 명령을 통해 어떻게 사용합니까?
그래서 제가 사용하는 명령은 다음과 같습니다. 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
마지막 줄이 출력되어야 하며 다음 @
으로 대체되어야 합니다.a
0
o
foobar foo barred
나도 그 점을 조사하고 싶습니다 mkfifo
. text.txt를 구문 분석하는 데 행운을 빕니다.