[code]
sed 的一个脚本,取文件中的后10行,有一句没看明白。 sed '{ :start $q N 11,$D b start }' /etc/passwd 其中11,$D这一句,这个第11行到末尾行$ 的行数指的是文件/etc/passwd的行数还是保存在模式空间的行数? 为什么要写成11,$D,仅仅写11D不就可以了,每次模式空间保存到原始文件中第11行的时候删模式空间的行,仅仅删除到\n的第一行 求大家帮忙,谢谢
本帖最后由 yang200218 于 2010-03-18 18:07 编辑 我想删除文件中的特定的一行或者多行,我现在是把不匹配的行写到临时文件中,然后再rename回来, 不知道大家有没有好的方法。 比如说文件是这样的: china france american german china canada 我想把包含china的那行删除掉。 请大家指点一下。 谢谢!
源: 网海拾贝 由于DOS下的编辑器和linux编辑器对文件行末的回车符处理不一致,在linux下经常能看到C文件或者TXT文件每行末尾都有一个^M符号,这个会导致shell脚本运行错误。 我们可以采用VI的编辑器命令进行删除。 下面是我自己发明的一种 方法 和石头提供的,都差不多一样,利用VI的查找替换命令,将^M替换为空格符 (1):在VI的编辑模式下,ESC shilt + : 输入 g/^M/s/^M// 回车,就删除掉了。 (2):在VI的编辑模式下,E...
来源:赛迪网 作者:sixth 由于DOS下的编辑器和linux编辑器对文件行末的回车符处理不一致,在linux下经常能看到C文件或者TXT文件每行末尾都有一个^M符号,这个会导致shell脚本运行错误。 我们可以采用VI的编辑器命令进行删除。 下面是我自己发明的一种方法和石头提供的,都差不多一样,利用VI的查找替换命令,将^M替换为空格符 (1):在VI的编辑模式下,ESC shilt + : 输入 g/\^M/s/\^M// 回车,就删除掉了。 (2):在VI的编...
原来是windows D版的, 后来变成windows和ubuntu双系统, 后来又变成windows和fedora 9双系统, 再后来又成了freebsd 7.1 和fedora 9了, 现在, 就是二天前, 升级fedora 9后, 不能安装软件了, 好象是yum升级后不能使用了。 我在想着用freebsd单系统了, 但又怕要是再出错我可怎么办啊。 是不是要回到windows D了? 大家给个意见啊。 最好是单用freebsd的有没有遇上什么不方便的。 本人电脑使用情况, 2003年的本本, 内存升...