テキストファイルの先頭に特定の形式のコンテンツを追加する必要があります。調べたBashで複数のテキストファイルの先頭と末尾にテキストを追加する方法しかし、私の状況にどのように適応するのかわかりません。
パスワード
printf 'Anything\tyou\twant\tto\tadd' 0a . x | ex printf.csv
期待される出力
$ head -n 1 printf.csv;
Anything you want to add
注:私はprintf
解決策を好みます。
ベストアンサー1
の場合はex
次のようになります。
printf '%b\n' 0a 'Anything\tyou\twant\tto\tadd' . x | ex -s printf.csv
または:
printf '0a\nAnything\tyou\twant\tto\tadd\n.\nx\n' | ex -s printf.csv
パラメータによって認識されるエスケープシーケンスは、フォーマットパラメータ%b
のエスケープシーケンスとは異なります。前者は標準でありecho
、後者は標準Cに似ています(多くのprintf
実装ではこれを拡張しますが)。それとは違いはありませんが、(少なくとも移植性が必要な場合は)パラメータに\t
それを作成する必要があります。\11
\011
%b
別のオプションは、拡張に%s
ksh93スタイルの引用符を使用することです。$'...'
\t
printf '%s\n' 0a $'Anything\tyou\twant\tto\tadd' . x | ex -s printf.csv
サポートされている場合(少なくともksh93、zsh、bash、FreeBSD sh、busybox ash)、これらの引用$'...'
は通常、型パラメータのように標準Cエスケープ(拡張を含む)をサポートしますprintf
(%b
またはecho