выведите строку, если первый столбец текущей и последней строки отличается - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно напечатать строки, значение первого столбца которых отличается от значения первого столбца последних строк.

Пример:

1 one                    line number1
1 one one one            line number2
2 two two                line number3
2 two two two            line number4
2 two two two            line number5
2 two two two two        line number6
2 two two two two two    line number7
3 three                  line number8
3 three three            line number9
4 four                   line number10
5 five                   line number11
5 five five five         line number12
5 five five              line number13
6 six                    line number14
6 six six                line number15
6 six                    line number16
6 six                    line number17

Мне нужен следующий результат, так как он представляет строки, которые имеют разные 1-ые столбцы по сравнению с первым столбцом последних строк.

1 one one one            line number2
2 two two                line number3
2 two two two two two    line number7
3 three                  line number8
3 three three            line number9
4 four                   line number10
5 five                   line number11
5 five five              line number13
6 six                    line number14

Я попробовал следующую команду, но она не помогает.

echo "$x" |awk '{t=$1;line=$0;next} $1!=t{print line ORS $0}'

1 Ответ

0 голосов
/ 07 ноября 2018

что-то вроде этого будет работать, но я обнаружил, что вашей логике очень трудно следовать ...

$ awk 'p && p!=$1 {if(!a[NR-1]) print prev; print; a[NR]++} 
                  {p=$1; prev=$0}' file

1 one one one            line number2
2 two two                line number3
2 two two two two two    line number7
3 three                  line number8
3 three three            line number9
4 four                   line number10
5 five                   line number11
5 five five              line number13
6 six                    line number14
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...