$ echo -e "AsometAhingA\nsomethingA\nASomethiAng"
AsometAhingA
somethingA
ASomethiAng
$ echo -e "AsometAhingA\nsomethingA\nASomethiAng" | sed "s/A//"
sometAhingA
something
SomethiAng
$
Run Code Online (Sandbox Code Playgroud)
我知道sed "s/A//"删除每一行中的第一个匹配项。但我只想删除文本文件或流中的第一个匹配项。我怎样才能做到这一点?喜欢:sed -i "MAGIC" file.txt
只要它是 GNU sed(它可能是,因为它是 Fedora),你应该能够做到:
sed '0,/RE/{//d;}' file.txt
Run Code Online (Sandbox Code Playgroud)
不幸的是,MAGIC不是sed命令,因此您将不得不使用其他东西:
sed -i '0,/A/s///' file.txt
perl -i -pe 'if (!$changed) {s/A// and $changed++;}' file.txt
echo -e "/A/ s///\nwq" | 编辑文件.txt
| 归档时间: |
|
| 查看次数: |
14984 次 |
| 最近记录: |