Считать каждое четвертое слово в файле

Когда вы создали набор ключей -, открытый и закрытый, добавили ли вы к нему пароль? Если это так, это будет запрашивать пароль при подключении через ssh.

Пожалуйста, взгляните на эту ссылку.https://askubuntu.com/questions/1019999/key-based-ssh-login-that-requires-both-key-and-password

-1
10.11.2020, 10:15
2 ответа

Примерно так

$ echo "I,have,this,word,cat,home,dog,day"|gawk -F, '{printf("%d\n", NF/4)}'
2
1
18.03.2021, 22:50

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

Сначала я бы использовал sed 's/,/ /g', чтобы заменить ,на , чтобы количество слов можно было легко проанализировать. Затем я передал это в wc -w, чтобы подсчитать количество слов. Наконец, я бы использовал bashдля выполнения целочисленного деления с помощью $(( x / 4 )). Это выглядит так:

$ cat fileName.tsv 
I,have,this,word,cat,home,dog,day

$ sed 's/,/ /g' fileName.tsv
I have this word cat home dog day

$ sed 's/,/ /g' fileName.tsv | wc -w
8

$ echo $(( $(sed 's/,/ /g' fileName.tsv | wc -w) / 4 ))
2

Вы упомянули о создании CSV-файла с . Я предполагаю, что вам понадобится более одной строки, чтобы вы могли использовать цикл в bash для анализа каждого файла, соответствующего шаблону.

for filename in *.tsv; do
  quartet=$(( $(sed 's/,/ /g' $filename | wc -w) / 4 ))
  echo $filename,$quartet >> output.csv
done
0
18.03.2021, 22:50

Теги

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