wc -l
ファイルの各行の末尾に出力を追加しようとしています。 1つのファイルに20個のレコード/行がある場合は、そのファイルの各行の末尾に数字20を追加し、次のファイルに100個のレコード/行がある場合は、各行の末尾に100を追加したいと思います。次のコマンドを試しましたが、必要に応じて実行されませんでした。
awk -v char=$(wc -l FILENAME | cut -f1 -d' ') '{print $0"," char}' FILENAME
ベストアンサー1
これは奇妙な要求ですが、好きなように機能します。
#!/bin/bash
shopt -s nullglob
for f in *.csv; do
size="$(wc -l <$f)"
sed -i "s/$/,$size/g" "$f"
done
exit
これにより、.csv
現在のディレクトリ内のすべてのファイルが内部で編集されます。
編集:Macではバックアップ拡張が必要なので、sed
コマンドが必要な場合があります。sed -i '.bak' "s/$/, $size/g" "$f"
しかし、これは私のLinuxシステムでは機能しません。