2011-03-29 93 views
0

我有一个|输入记录UNIX ksh编程

field1 field2 field3 field4 field5 .... field 132 
123456 xyz  01/28/99 xyz123 xyz145 .... xyz567 

输出

例如:在每一个创纪录的132场,我需要做的就是在现场3最后2个字节追加到现场1比打印整个记录分隔的文件应该是:

field1 field2 field3 field4 field5 .... field 132 
12345699 xyz  01/28/99 xya123 xyz145 .... xyz567 

这里的脚本,我有:

#!/bin/ksh 
IFS="|" 
while read a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11; do 
    yy=`expr substr "$a3" 7 2` 
    acyy=$a1$yy 
    print $acyy $a2 $a3 $a4 $a5 $a6 $a7 $a8 $a9 $a10 $a11 
done <infile.txt> outfile.txt 

是有一种方法可以读取并打印所有剩余的文件?

请帮忙,谢谢您

+0

有趣的标签。修复它 – maverik 2011-03-29 14:57:48

+0

你有什么问题? (它看起来很适合我)。向我们展示一些说明问题的示例输出。 – shellter 2011-03-29 16:50:35

回答

2

不是“剩”字全部分配到最后一个参数看? (包括分隔符,|) 如果您不希望分隔符只是'sed'最后一个参数 - 例如$(echo“$ a11”| sed's/|//')