Ich versuche eine scheinbar einfache Aufgabe: Verwenden Sie bash, um eine Datei nach Zeichenfolgen zu durchsuchen, und geben Sie diese, falls vorhanden, in einer anderen Datei aus. Es könnte Jetlag sein, aber das sollte funktionieren:
%Vor%Ich habe das auch aus Gründen der Vollständigkeit versucht:
%Vor%gibt alles aus, unabhängig davon, ob die Zeile CNTRY enthält oder nicht, und ich kopiere / klebe aus scheinbar zuverlässigen Quellen, also gibt es anscheinend etwas Einfaches an der Bash-Ness, das ich vermisse?
Obwohl ich vorschlagen würde, grep einfach zu verwenden, ist die Frage offen, warum Sie nicht angehen. Hier eine selbstreferentielle Modifikation Ihres zweiten Ansatzes - mit dem Keyword 'bash', um sich selbst anzupassen:
%Vor% Der Schlüsselpunkt ist while read -r line ... < FILE
. Ihr Befehl mit cat beinhaltet String Splitting, also wird jedes einzelne Wort in der Schleife verarbeitet, nicht jede Zeile.
Das gleiche Problem in Beispiel 1.