如果我有以下内容:
1 5 a
2 5 a
3 5 a
4 5 a
5 5 a
6 5 a
1 3 b
2 3 b
3 3 b
4 3 b
5 3 b
6 3 b
我如何只选择两列具有相同值的行,即
5 5 a
3 3 b
在bash / awk / sed。
我知道如何使用awk选择具有特定值的行,但仅限于我指定值时。
答案 0 :(得分:4)
请说:
$ awk '$1==$2' file
5 5 a
3 3 b
如您所见,当条件$1 == $2
完成后,awk
会自动打印该行。
答案 1 :(得分:4)
foo
答案 2 :(得分:2)
为了完整性:
的bash
while read first second rest; do
[[ $first -eq $second ]] && echo "$first $second $rest"
done < fi
或者如果内容不仅仅是整数:
while read first second rest; do
[[ $first == $second ]] && echo "$first $second $rest"
done < file
SED
sed -En '/^([^ ]+) \1 /p' file
答案 3 :(得分:0)
这可能适合你(GNU grep):
starts(3)