我的虚拟文件如下所示:
C1 C2 C3
1 a snow
2 b snowman
snow c sowman
snow
如果$3 中有字符串,我想获取线路。我可以这样做:
awk '($3=="snow" || $3=="snowman") {print}' dummy_file
但应该有更简单的方法。
我的虚拟文件如下所示:
C1 C2 C3
1 a snow
2 b snowman
snow c sowman
snow
如果$3 中有字符串,我想获取线路。我可以这样做:
awk '($3=="snow" || $3=="snowman") {print}' dummy_file
但应该有更简单的方法。
awk '$3 ~ /snow/ { print }' dummy_file
也可以通过使用 index() 函数查找子字符串:
awk '(index($3, "snow") != 0) {print}' dummy_file
较短的版本:
awk 'index($3, "snow")' dummy_file
打印第三个字段是一个snow
或snowman
唯一的行:
awk '$3~/^snow(man)?$/' file
sed '/\s*\(\S\+\s\+\)\{2\}\bsnow\(man\)\?\b/!d' file
输入:
C1 C2 C3 1 一场雪 2 b 雪人 雪 c 母猪 雪雪雪人
..输出:
1 一场雪 2 b 雪人