Leg*_*end 14 unix command-line text sed
在sed应用正则表达式时,是否可以跳过前n行?我目前正在使用以下内容:
cat test | sed '/^Name/d;/^----------/1;/^(/d;/^$/d'
Run Code Online (Sandbox Code Playgroud)
在以下文件中:
Name
John
Albert
Mora
Name
Tommy
Tammy
Run Code Online (Sandbox Code Playgroud)
在一个过程中,我想使用一些正则表达式(其中一个是删除包含Name但我想在这种情况下跳过第一行的行)以获得以下内容:
Name
John
Albert
Mora
Tommy
Tammy
Run Code Online (Sandbox Code Playgroud)
因为文件很大,我不想进行多次传递,所以任何一次通过的方法都会很棒.
a'r*_*a'r 24
是的,您可以使用N,M语法将sed命令应用于行范围.在这种情况下,你想要这样的东西:
sed -e '2,$s/foo/bar/'
Run Code Online (Sandbox Code Playgroud)
删除示例:
sed -e '2,${ /^Name/d }'
Run Code Online (Sandbox Code Playgroud)