250文字の長さ(固定)のレコードに約40文字のデータがあります。しかし、残りの250-40 = 210文字をスペースで追加したいと思います。 UNIXスクリプトではこれをどのように実行しますか?
答え1
使用awk
:
awk '{ printf "%-250s\n", $0 }' infile >outfile
%-250s
ここで使用される書式文字列は、パラメータprintf
($0
現在の行)を250文字の長さの文字列にフォーマットします。この250文字以内では、元の行は左揃えになり、入力行の空のビットは250桁を埋めるために空白で埋められます。
入力ラインの長さが250文字を超えると、入力ラインは出力で変更されずに再現されます。 250文字で長すぎる行を切り捨てるには、上記のコードでsubstr($0,1,250)
inを使用してください$0
。