【发布时间】:2013-06-01 16:23:59
【问题描述】:
如何使用 awk/sed 或任何其他脚本命令来实现这一点。
1) 读取多行的文件,每行包含 26 位数字 2)如果找到07,则使用shell脚本仅在每行的第25和第26列将07替换为08
谢谢。
【问题讨论】:
-
给定行中的列如何分隔,空格?
如何使用 awk/sed 或任何其他脚本命令来实现这一点。
1) 读取多行的文件,每行包含 26 位数字 2)如果找到07,则使用shell脚本仅在每行的第25和第26列将07替换为08
谢谢。
【问题讨论】:
awk
awk 'BEGIN{FS=""; OFS=""}{if ($25$26 == "07") {$25="0"; $26="8"}{print}}'
【讨论】:
如果您确定文件中的每一行都有 26 位数字。 (长度 26),您可以:
sed 's/07$/08/' file
【讨论】:
sed -r 's/(.{24})07(.*)/\108\2/' 如果有这样的要求,我会用 sed 来做。
这可能对你有用(GNU sed):
sed -r 's/^(.{24})07/\108/' file
【讨论】: