Shell-Skript, Schnitt der bestimmten Zeile und Fachgebiet
echo "./Desktop/data.txt"| cut -f 1 -d ":"
Die Zeile oben schneidet das spezifische Feld mit Trennzeichen ":"
Aber wie kann ich das schneiden der bestimmten Zeile und bestimmten Feld mit Trennzeichen ":" wenn meine Datei besteht aus mehr als einer Zeile?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werde ich simulieren die
data.txt
- Datei mitIhren Befehl zeigt das erste Halbbild alle Zeilen
Können Sie die Linien mit
:
wenn Siegrep
erste:Können Sie append
| head -1
für einen line-Ausgang.Diese Anleitung kann getan werden, mit
sed
zu.Mit sed kann man entfernen, alles nach dem Doppelpunkt:
In
sed
hinzufügen eines grep kann getan werden, indem man Linien mit/:/
.Kombinieren Sie diese mit
-n
undp
.Wenn Sie möchten, eine line-Ausgang, können Sie
Dies ist eine Aufgabe, die ideal für AWK:
-F:
setzt das Feldtrennzeichen für:
NR == 2
ist ein Muster-Bedeutung "- Datensatz (Zeile) Zahl ist gleich 2"{print $2}
ist eine Aktion zum ausführen auf pattern match mit der Bedeutung "drucken zweite Feld"Wenn Sie eine Zeile auswählen, basierend auf Linie ist, dann können Sie sed. Zum Beispiel für Zeile 10:
Wenn Sie brauchen, um eine Zeile zu wählen, basierend auf, dass die Zeile mit einem bestimmten Wert, dann würde ich mit grep. Wenn der Wert in einer anderen Spalte als die, die Sie schneiden, dann werden Sie sicher, dass grep, bevor Sie Sie schneiden.
Hinweis: der original-Beitrag sagt echo "./Desktop/data.txt" und ich nehme an, das war ja die Katze, nicht echo.