これはabc.txtファイルは5つの列で構成されています。
ID|first name|middle name|last name|address
1 | john | whatever | smith | somewhere
この出力を取得するにはどうすればよいですか?
ID|first name middle name last name|address
1 | john whatever smith |somewhere
'|'
特定の列の空白のみを新しいファイルに置き換える方法定義.txt。この場合、2列から4列までです。
ベストアンサー1
アッ解決策:
awk 'BEGIN{ FS=OFS="|" }{ cs=$2$3$4; gsub(/ +/, " ", cs); print $1,sprintf("%-32s",cs),$5 }' abc.txt
FS=OFS="|"
- フィールド区切り記号cs=$2$3$4
- 2番目、3番目、4番目のフィールドを接続します。gsub(/ +/, " ", cs)
- 不要なスペースを削除sprintf("%32s",cs)
- フォーマットされた接続文字列
出力:
ID|first namemiddle namelast name |address
1 | john whatever smith | somewhere