Есть ли способ прочитать текстовый файл и использовать слова внутри него в качестве входных данных?

Я имею дело с одной задачей, где я должен прочитать текстовый файл и принять каждое слово, присутствующее в нем, в качестве входных данных, и важно то, что мне нужно будет сделать это с помощью цикла 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

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

[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

Пожалуйста, заверните все ваши коды/образцы в CODE TAGS.

RavinderSingh13 22.05.2019 08:55

не могли бы вы уточнить, что я новичок в этом мире.

SKuser 22.05.2019 08:59

Пожалуйста, просмотрите этот пост один раз для ознакомления meta.stackexchange.com/questions/51144/…

RavinderSingh13 22.05.2019 09:01

@SKuser: вы также должны определить, что такое слово. Например, являются ли abc,def и x100 одним словом или двумя соответственно?

user1934428 31.05.2019 19:38

@SKuser: Как насчет замены cat content.txt на fmt -1 content.txt?

user1934428 31.05.2019 19:47

@ user1934428 Реализовано :) .....Спасибо всем за руководство!!!

SKuser 03.06.2019 07:40
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы почти у цели. Обратите внимание, что вы можете использовать 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

Пожалуйста, цитируйте свои строки. Возможно, однажды вы прочтете переменную * из $(rm *).

Walter A 22.05.2019 09:52

@WalterA: г.м. не повредит, потому что эхо все равно не выполнит код. Аргумент * действителен. Я обновил свой ответ соответственно. Поскольку я обычно работаю с Zsh, я всегда забываю, что нам нужно много цитировать при выполнении bash. Одна из причин, почему я так не люблю bash.

user1934428 22.05.2019 15:37

@ user1934428 не могли бы вы помочь мне с моим другим вопросом, пожалуйста, проверьте мой профиль

SKuser 29.05.2019 12:40

Другие вопросы по теме