wcで一時ファイルを使わずに、あるファイルの行数を調べたい。次のようなものを使用してみました:var=${wc -l a.txt}
またはwc -l a.txt | read line
、両方とも機能しませんでした。
2 に答える
4
コマンドの出力を保存する方法は、使用var=$(command)
したのではありvar=${command}
ません。
したがって、これは次のようになります。
var=$(wc -l a.txt) # returns XX a.txt
数値だけを保存するには、次のようにします。
var=$(wc -l < a.txt) # returns XX
^
于 2014-03-18T15:41:04.137 に答える
1
注意してください!
wc -l < a.txt
正しい答えのように見えるかもしれません... しかし、計算や if ブロック内のテストなど、別の場所でその数値を使用したい場合、スクリプトは失敗する可能性があります。なんで?wc -l
番号が表示されますが、リリースによっては空白が先行する場合があります(wc
コメントをご覧ください)。番号のみを取得するには、次のようにします。
echo $(wc -l < a.txt)
これが役立つことを願っています!
于 2014-03-18T16:04:41.300 に答える