我正在尝试使用sed从文件中删除Unix命令行中的一系列单词,我无法弄明白。例如,如何删除2-4位的单词? 如果文件包含:“这是我创建的文件。”我希望它是:“这是由我创造的。” 非常感谢!
答案 0 :(得分:1)
尝试使用GNU sed(将单词1和单词5打印到最后一个单词):
echo "This is a file created by me." | sed 'y/ /\n/' | sed -n '1p;5,$p' | sed 'N;N;N;y/\n/ /'
输出:
This created by me.
答案 1 :(得分:1)
您也可以使用awk
:
echo "This is a file created by me." | awk '{for (i=1;i<=NF;i++) if (i<2||i>4) printf "%s ",$i;print ""}'
This created by me.
答案 2 :(得分:1)
这可能适合你(GNU sed):
sed -r 's/(\s+\S+){3}//' file