一个简单的问题,请
我有这个代码,它为所有行添加单词echo,但我只想要奇数行
我知道这个代码sed -n 1~2p'显示所有奇数行,但我不能在上面的脚本中做同样的事情
sed 's/.*/echo &/' $startdirectory
感谢
答案 0 :(得分:1)
其实很简单:
sed -e 'N;s/^/echo /'
N读取第二行进入模式空间;替代品将'echo'放在第一个之前,隐式打印打印两行并清空模式空间。
请注意,如果您有奇数行,则会删除最后一行。修复这是读者的练习。
答案 1 :(得分:1)
对于你所要求的字面答案(对所有其他行应用's'动作),你想要
sed -e '1~2s/.*/echo &/'
这比N
做事方式稍微好一些,因为它不会干扰你可能想对文件中的其他行做的其他事情。