
我需要編寫一個 shell 腳本來讀取文字檔案並對其執行操作以計算文字檔案中所有不同的單字。
我擁有執行這些操作所需的所有命令,但是如何將文字檔案輸入到 shell 腳本中,然後透過命令使用呢?
所以我使用的命令是這樣的,我如何將 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 解析好運。