我有一个这种格式的文件:
Some, Text
sub text 1
sub text 2
sub text 3
Foo, Bar
bar1
bar2
bar3
Shui, Wong K
subtext1
Other Stuff
something else
如何仅从该文件中提取主要行,以便新文件包含:
Some, Text
Foo, Bar
Shui, Wong K
Other Stuff
我有一个这种格式的文件:
Some, Text
sub text 1
sub text 2
sub text 3
Foo, Bar
bar1
bar2
bar3
Shui, Wong K
subtext1
Other Stuff
something else
如何仅从该文件中提取主要行,以便新文件包含:
Some, Text
Foo, Bar
Shui, Wong K
Other Stuff
告诉 awk 只打印以字母开头的行
awk '/^[[:alpha:]]/' infile
输出:
Some, Text
Foo, Bar
Shui, Wong K
Other Stuff
或与以下内容相同grep
:
grep '^[[:alpha:]]' infile
以下工作在这里:
awk '/^\S/'
grep '^\S'
我注意到对于您的示例,这也可以::)
awk '/,/'
这完全取决于您要做什么,但这是一个示例
awk 'BEGIN{min=2;max=5}
{
if (NR>=min)
{
if(NR<=max)
print
}
}' filename
使用正则表达式匹配除以空格开头的行以外的任何内容。我认为不需要 awk,我会使用 grep 代替:
grep -e "^[^ ]"
在 awk 中:
awk '/^[^ ]/'