DPM*_*DPM 6 awk regular-expression
我想从文件中获取每一行的第一个单词。不幸的是,很多行都以空格开头。所以我尝试用以下内容来获取第一个词:
awk -F'[ \t]+' '{print $1}' < MyFile.txt
,但它不起作用。我尝试这个echo " some string: here" | awk -F'[ \t]+' '{print $1}'
,结果是空行(我认为它打印空字符串)。那么为什么这不起作用呢?我想让它与 awk 命令一起使用并显式传递分隔符(出于教育目的)
提前致谢。
在 awk 中,默认的字段分隔符-F " "
或BEGIN{FS=" "}
遵循特殊约定
[ \t]+
第 (1) 点 - 忽略初始/最终空格 -仅当字段分隔符恰好为 时适用 " "
。
这种行为实际上是我们所期望的。
默认awk '{print $1}'
工作 find ,也是如此awk -F' ' '{print $1}'
。
输入记录分隔符(RS)还有另一个类似的约定:当RS=""
它代表段落分隔时:
第 (2) 点 - 忽略初始/最后的空行 -仅当输入记录分隔符恰好为 "" 时适用。