Я учусь использовать grep и наткнулся на это. Как это работает?

Вы можете попробовать этот awk:

awk '$1=="m.o."{if(l){exit};l++;next}l&&l<3{l++;next}l{if($3<0&&$2!=1)c++}END{print c}' infile
-3
03.02.2021, 18:02
1 ответ
grep '#' input.txt

эта команда будет искать текст в файле, в этом случае #будет искаться в файле input.txt и все вхождения будут напечатаны на экране

то вы использовали знак вертикальной черты, что означает не печатать вывод и передать вывод следующей команде, написанной после знака вертикальной черты |

так

tail -n

это неверно, так как хвосту -n нужно какое-то число, чтобы он напечатал количество строк, которое вы указали с номером снизу, т.е. хвост -n 2 он напечатает последние 2 строки

возьмем этот пример, у меня есть файл с именем input.txt со следующим содержимым, записанным в нем:

[root@localhost student]# cat input.txt 
# this is a new line comment 1
this is not a comment line 1
this is not a comment line 2

# this is a new line comment 2
# this is a new line comment 3 
# this is a new line comment 4 
# this is a new line comment 5 
# this is a new line comment 6 
# this is a new line comment 7 
# this is a new line comment 8 
# this is a new line comment 9 
# this is a new line comment 10 

this is not a comment line 3
this is not a comment line 4
this is not a comment line 5

если вы запустите команду

[root@localhost student]# grep '#' input.txt | tail -n 2
# this is a new line comment 9 
# this is a new line comment 10 

он искал символ в файле и, возможно, нашел 10 строк, затем мы дополнительно отфильтровали его и напечатали последние 2 строки из этого результата, написав хвост -n 2

Надеюсь, теперь тебе все ясно,

1
18.03.2021, 22:32

Теги

Похожие вопросы