我有两个问题:
这里通过列说,我的意思是每列一个字符,而不是分隔数据文件中的那种列。
答案 0 :(得分:2)
这可能适合你(GNU sed):
sed '35,40s/^\(.\{9\}\).\{10\}/\10123456789/' file
使用相同的行标准替换第10列到行尾的所有内容:
sed '35,40s/^\(.\{9\}\).*/\10123456789/' file
答案 1 :(得分:1)
对于(1):
awk 'NR >= 35 && NR <= 40 {start = substr($0, 1, 9) ; end = substr($0, 20); print start "0123456789" end}'
对于(2):
awk 'NR >= 35 && NR <= 40 {start = substr($0, 1, 9) ; print start "0123456789"}'
在这两种情况下,我们只是简单地使用你的'0123456789'字符串并添加其余内容。唯一的区别是第二个只需要行的开头。