今天写个脚本,要使用sed 的c 命令把文件的某一行替换为y。结果发现有问题。
描述: 待处理的文件是个空文件,也就是里面有0行,我想把这个文件第i行替换为y,没有达到效果。
分析:sed的机制是,读取待处理文件的一行,判断是否在范围内,如果是,按照命令进行处理,如过不是,处理下一行。
假设我的命令是 sed -i -e '100c\y' file
我的file文件只有80行,那么sed会依次提取80行,但是他们的地址都不是地址100,都不处理。然后就结束处理。
我所认为的 如果第100行不存在,那么会添加一行,内容为y。这个从sed的实现机制上,就是不可能的,我这个要求是无解的。
done!
阅读(1268) | 评论(0) | 转发(0) |