ファイルパスが与えられたら、行数を確認して変数に保存したいと思います。たとえば、
/three_little_pigs.csv
straw
wood
bricks
3
ファイルに数字(または文字列)を保存したいです。次のコマンドを試しました。
export P="three_little_pigs.csv"
NUM_LINES=(wc -l < "${P}")
ただし、常に次のエラーが発生します。
bash: house: line 12: syntax error near unexpected token `<'
ベストアンサー1
bashでサブシェルを実行するには$(...)
。そして、入力をリダイレクトする必要はなく、入力ファイルの名前を指定するだけです。だから省略<
:
NUM_LINES=$(wc -l "$P")
出力:
3 three_little_pigs.csv
ファイル名を削除するには、awkを使用することが1つの可能性です(他の方法もたくさんあります)。
NUM_LINES=$(wc -l "$P" | awk '{print $1}')
編集1:
いいですね。リダイレクト(<
)を使用すると、ファイル名は完全に省略されます...申し訳ありません;)
NUM_LINES=$(wc -l < "$P")