
テキスト ファイルを読み取り、テキスト ファイル内のすべての異なる単語をカウントする操作を実行するシェル スクリプトを作成する必要があります。
これらの操作を実行するために必要なコマンドはすべてありますが、テキスト ファイルをシェル スクリプトに入力してコマンドで使用するにはどうすればよいでしょうか。
私が使用するコマンドはこれです。スクリプト内で変数を呼び出せるように、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
私も調べてみたいことの 1 つですmkfifo
...text.txt の解析がうまくいくことを祈っています。