Передача строки файла, читаемой с циклом чтения

279
Jargal

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

Вот как это выглядит с cat:

cat $LINE | cut -f1

cat $LINE | cut -f4| sed s/\.pdf$/\.html/

Надеюсь, проблема была поставлена ​​достаточно четко. Любая помощь будет принята с благодарностью!

0
Вы можете ошибочно думать об этом. (Неправильное мышление немного похоже на чрезмерное мышление, но неверно направлено.) Прочитайте [В чем проблема XY?] (Http://meta.stackexchange.com/q/66377/271976), а затем скажите нам, что вы * действительно * хочу сделать. G-Man 8 лет назад 0
Может быть, вы были правы, но это не помогло мне. Надеюсь, вы сможете помочь мне в следующий раз;) Jargal 8 лет назад 0
X = "Я пытаюсь прочитать каждую строку файла и затем присвоить некоторые его части переменным." Y = "Строка читается как переменная, поэтому мне нужно обработать переменную ...". Ладно, извини; ты *** сказал ***, что ты действительно хотел сделать - или, по крайней мере, ты намекнул на это. Но тогда последние 90% вашего вопроса захламлены вашим некорректным подходом к этому. Я надеюсь, что в следующий раз, когда вы зададите вопрос, вы сможете *** четко сказать нам ***, что вы действительно хотите сделать, и сфокусировать свой вопрос на этом. : - | ⁠ G-Man 8 лет назад 0

1 ответ на вопрос

0
Joce

cat takes a filename as its argument. You definitely need echo. What you may have wrong is that the line read will be space-separated, so cut needs a -d " ".

However, why not use the -r option of read ?

$ read -r NAME FNAME AGE FILE < file $ echo $NAME Doe $ echo $FNAME John $ echo $AGE 36 $ echo $FILE johns_letter.pdf $ echo $FILE | sed -e "s/.pdf/.html/" johns_letter.html 
Спасибо вам большое! Вы мне очень помогли, когда я был в отчаянии и панике, совершал ошибки и не мог их видеть :) ключевым моментом было чтение строки в переменные. Jargal 8 лет назад 0
Рад, что помог. Один из способов сказать «спасибо» - поднять голос и принять ответ! ;-) Joce 8 лет назад 0

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