Piping einer Zeile der gelesenen Datei mit while-Leseschleife

412
Jargal

Ich versuche, jede Zeile der Datei zu lesen und Variablen einige Teile davon zuzuweisen. Eine Zeile selbst wird als Variable gelesen, daher muss ich eine variable Eingabe für cat bearbeiten, die unmöglich erscheint. Ich habe ein Echo versucht, aber es scheint, dass es nicht das tut, was ich brauche.

So sieht es aus mit cat:

cat $LINE | cut -f1

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

Hoffentlich ist das Problem klar genug gestellt worden. Jede Hilfe wäre sehr dankbar!

0
Sie denken vielleicht falsch darüber nach. (Missdenken ist ein bisschen wie Überdenken, aber fehlgeleitet.) Lesen Sie [Was ist das XY-Problem?] (Http://meta.stackexchange.com/q/66377/271976), und teilen Sie uns dann mit, was Sie tun * wirklich * wollen G-Man vor 9 Jahren 0
Vielleicht hast du recht, aber es hat mir nicht geholfen. Hoffe du kannst mir nächstes mal helfen;) Jargal vor 9 Jahren 0
X = "Ich versuche, jede Zeile der Datei zu lesen und Variablen einige Teile davon zuzuweisen." Y = "Eine Zeile wird als Variable gelesen, also muss ich eine Variable verarbeiten ...". OK es tut mir leid; Sie haben uns *** erzählt, was Sie wirklich tun wollten - oder Sie haben es zumindest angedeutet. Aber dann sind die letzten 90% Ihrer Frage mit Ihrer fehlerhaften Vorgehensweise unübersichtlich. Ich hoffe, dass Sie das nächste Mal, wenn Sie eine Frage stellen, in der Lage sein werden, uns klar zu sagen ***, was Sie * wirklich * tun möchten, und Ihre Frage darauf konzentrieren. : - | ⁠ G-Man vor 9 Jahren 0

1 Antwort auf die Frage

0
Joce

catnimmt einen Dateinamen als Argument an. Du brauchst definitiv echo. Was Sie vielleicht falsch ist, dass die Linie Leseraum getrennt sein, so cutein muss -d " ".

Warum aber nicht die -rOption nutzen 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 
Ich danke dir sehr! Sie haben mir sehr geholfen, als ich inmitten von Verzweiflung und Panik schwebte und Fehler nicht sehen konnte. Das Wichtigste war, eine Zeile in Variablen zu lesen. Jargal vor 9 Jahren 0
Schön, dass ich geholfen habe. Ein SE-Weg, um "Danke" zu sagen, ist, die Antwort zu bestätigen und zu akzeptieren! ;-) Joce vor 9 Jahren 0