Есть ли способ прочитать текстовый файл и использовать слова внутри него в качестве входных данных? - PullRequest
0 голосов
/ 22 мая 2019

Я имею дело с одной задачей, где я должен прочитать текстовый файл и взять каждое слово, присутствующее в нем, в качестве входных данных, и важно то, что я должен сделать это, используя цикл while или любой другой (без использованиякоманда awk)

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

Вот подробности:

Файл содержимого (исходный файл)

[root@localhost ~]# cat content.txt
Rantndeep,old spice,100,20
D-mart,toothbrush,30,20
more,sack,300,10

Требуемый вывод

[root@localhost ~]# sh parser.sh
Today I went to Rantndeep Store bought old spice For Rs. 100 And paid 20 Rs.as a parking charges
Today I went to D-mart Store bought toothbrush For Rs. 30 And paid 20 Rs.as a parking charges
Today I went to more Store bought sack For Rs. 300 And paid 10 Rs.as a parking charges

Мой сценарий

[root@localhost ~]# cat p.sh
#/bin/bash
cat content.txt | while read a
do
     echo $a
done

Это только печать содержимого файла, как указано выше Iхочу написать сценарий, используя любой цикл, чтобы я мог получить вывод как

[root@localhost ~]# sh parser.sh
Today I went to Rantndeep Store bought old spice For Rs. 100 And paid 20 Rs.as a parking charges
Today I went to D-mart Store bought toothbrush For Rs. 30 And paid 20 Rs.as a parking charges
Today I went to more Store bought sack For Rs. 300 And paid 10 Rs.as a parking charges

1 Ответ

1 голос
/ 22 мая 2019

Вы почти на этом.Обратите внимание, что вы можете использовать read для установки более одной переменной.Попробуйте

IFS=, # Because you separate the items using comma instead of space
while read w1 w2 w3 w4
do
  echo "first word: $w1  second word: $w2  last word: $w4"
done < content.txt

, и вы увидите, что на каждой итерации w1 ... w4 содержит 4 поля соответствующей строки в content.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...