在shell脚本中邮寄之前格式化文本文件

时间:2014-11-17 21:27:55

标签: file shell email unix scripting

目前我正在使用

uuencode "file" "report.txt" | mailx -s "Subject" xyz@abc.com

我的输出为

002506960 830148XXM ILD514CSE 0000000 004129197 737620BQJ LCT453INN 0000000 000130122 984062NOR YUR416XER 0000480 000134266 095151MET RUB648DEA 0000210
000232322 941669CAR DET672KEH 0000600 000232320 941669CAR DET672KEH 0071014 000232325 941669CAR DET672KEH 0071014

必需的输出:

032506961 830148XXM ILD514CSE 0000000    
034129191 737620BQJ LCT453INN 0000000    
030130121 984062NOR YUR416XER 0000480    
030134261 095151MET RUB648DEA 0000210    
030232321 941669CAR DET672KEH 0000600    
030232321 941669CAR DET672KEH 0071014    
030232321 941669CAR DET672KEH 0071014

(注意:线之间没有间隙) 任何想法如何实现?

1 个答案:

答案 0 :(得分:0)

您可以将输出传输到:

awk '{for (i=1; i<=NF; i++) printf "%s%s", $i, (i%4==0)?ORS:OFS}'

这将给出:

002506960 830148XXM ILD514CSE 0000000
004129197 737620BQJ LCT453INN 0000000
000130122 984062NOR YUR416XER 0000480
000134266 095151MET RUB648DEA 0000210
000232322 941669CAR DET672KEH 0000600
000232320 941669CAR DET672KEH 0071014
000232325 941669CAR DET672KEH 0071014