我知道文件中的行号,其中我想保留第一个单词并删除其余单词直到行尾。我怎么用sed这样做? 所以,我想说,我想在一个文件中排到第10行,看起来像这样 -
好话“blah blah”\我想要的是什么 好词
我试过这个 - sed's /([a-z] )。 / \ 1 /'
但这可以在文件的所有行中完成。我只希望它在一个指定的行上。
答案 0 :(得分:0)
你可以使用grep或awk只抓一行,然后把它管道输入sed(如果grep或awk不能为你做整个工作)只能在一行上工作吗?我认为这里的关键是首先隔离一行,然后担心从中提取一些东西。
答案 1 :(得分:0)
如果用“第一个字”表示“一切都在第一个空间”,如果“在文件本身中保留此更改”,则表示您不介意创建一个与该文件同名的新文件。以前的文件,如果您有sed
支持-i
,您可以这样做:
sed -i '10s/ .*//' input-file
如果您希望对单词的定义更具限制性,可以使用'10s/\([a-z]*\).*/\1/'
答案 2 :(得分:0)
使用awk
awk 'NR==10 {print $1}' file
goodword