2016-08-18 4 views
-2

Ich habe eine Datei, die eine einzige Zeile mit 50 Zeichen hat. Ich möchte Zeichen 12 bis 17 und Zeichen 33 bis 44 mit jedem Shell-Befehl löschen. Kann mir bitte jemand dabei helfen.Shell-Befehl zum Löschen von Zeichenbereichen aus einer Zeile

+1

seit Sie mit awk markiert und sed Sie etwas schon versucht haben. Bitte [bearbeiten] Sie Ihre Frage, um sie anzuzeigen, und stellen Sie [mcve] bereit. Es wäre gut, auch [ask] zu checken. Willkommen bei [so]! – fedorqui

+1

Werfen Sie einen Blick auf die 'cut' Option' -c'. – Cyrus

Antwort

0

Schnitt entfernt Abschnitte aus jeder Zeile von Dateien. Von man cut:

-c
gibt eine Reihe von Zeichen

--complement
ergänzen den Satz von ausgewählten Bytes, Zeichen oder Felder

diese Hilfe sein kann aus drucken 1. bis 11. Zeichen, vom 18. bis zum 32. und vom 45. bis zum Ende:

cut -c -11,18-32,45- yourFile 

oder

cut -c 12-17,33-44 text --complement yourFile 
+2

Was ist der Punkt, zwei Befehle zu veröffentlichen, die das Gegenteil tun, ohne irgendeine Erklärung? – fedorqui

+0

Keine Notwendigkeit, [downvote] (http://stackoverflow.com/questions/38993454/how-to-create-a-folder-with-a-folder-name-containing-spaces-in-linux/38993474?noredirect= 1 # comment65386150_38993474) auf Rache übrigens. – fedorqui

+1

undownvoting da dies bereits eine Erklärung enthält. Es würde von einem Beispiel profitieren, obwohl – fedorqui

Verwandte Themen