[gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

[gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 28.03.2023 15:58:45

... ist jetzt nicht wirklich "Scripting" und ist auch eine blutige Anfängerfrage, aber ich weiss nicht, wohin damit sonst:

es geht um den cut-Befehl und zwar darum, wie man den Delimiter beibehalten kann; mein Trenner ist "«" und alles davor sollte gelöscht werden; cut -d« -f1 löscht aber auch das Trennzeichen

das dürfte wohl äusserst simpel sein, nur finde ich die Lösung nicht
Zuletzt geändert von kalamazoo am 28.03.2023 22:37:33, insgesamt 1-mal geändert.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von JTH » 28.03.2023 16:16:23

cut selbst kann das m.W. nicht. Du kannst das Trennzeichen aber natürlich einfach selbst davor nochmal ausgeben.

Generell wären verschiedene Lösungen für deine Frage möglich. Kommt im Einzelnen ein bisschen auf deine Anwendung drum herum an.

Eine Idee etwa: Ersetze deinen cut-Aufruf

Code: Alles auswählen

cut -d« -f1
genau mit

Code: Alles auswählen

{ printf «; cut -d« -f1; }

Btw.: Wenn du alles vor dem Trennzeichen loswerden willst, müsste es doch

Code: Alles auswählen

{ printf «; cut -d« -f2-; }
lauten.
Manchmal bekannt als Just (another) Terminal Hacker.

tobo
Beiträge: 1990
Registriert: 10.12.2008 10:51:41

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von tobo » 28.03.2023 16:44:21

Zwei alternative Lösungen (ohne cut):

Code: Alles auswählen

grep -o '^[^«]*«'
sed 's/«.*/«/'

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 28.03.2023 17:48:44

JTH hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 16:16:23
cut selbst kann das m.W. nicht. Du kannst das Trennzeichen aber natürlich einfach selbst davor nochmal ausgeben.
Also geht das tatsächlich nicht mit cut! An das Wiedereinfügen habe ich auch gedacht, das schien mir aber wenig elegant.

Grundsätzlich geht es darum, dass ich in einem Verzeichnis mit einer Reihe von Unterverzeichnissen gewisse Folder auswähle und die Ausgabe bei einem bestimmten Marker innerhalb des Dateinamens beginnen lasse. Mein CUT-Befehl ist auch insofern schon etwas verkorkst, als ich nicht weiss, wie man alles VOR einem bestimmten Feld löscht (hier noch "/", da ja der Pfad vor dem Dateinamen auch weg soll), weshalb ich den jeweiligen String zweimal mit rev umkehre, was dann so aussieht:

Code: Alles auswählen

$ find -type d -iname "MUSTER" | rev | cut -d"/" -f1 | rev | sort -h > DATEI.TXT
Eine Lösung mit awk habe ich auch gebastelt, bei der Syntax von awk kenne ich mich aber noch weniger aus als bei cut, welches ja relativ simpel ist.

Code: Alles auswählen

$ find -type d -iname "MUSTER" | awk -F"/" '{print $NF}' | sort -h > DATEI.TXT
Abgesehen von den Pfadnamen sollten dann auch alle Zeichen vor den verschiedenen "«"s weggeschnitten werden, was im Grunde auch in einem gehen würde, da "«" in den Pfadnamen vorher nicht vorkommt.
tobo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 16:44:21
Zwei alternative Lösungen (ohne cut):

Code: Alles auswählen

grep -o '^[^«]*«'
sed 's/«.*/«/'
Mit grep ginge das auch?
Ja, mit sed sieht das sehr elegant aus, die Syntax scheint ähnlich wie bei rename -- nur: was macht der Punkt?
Beide dürften aber nichts wegschneiden, oder?

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von JTH » 28.03.2023 18:26:12

Was du also letztendlich hier möchtest (wenn ich dich richtig verstehe), ist, den Basename eines Pfades auszugeben – den Teil hinter dem letzten / in einem Pfad.

Das kann find praktischerweise schon von alleine mit der Aktion -printf:

Code: Alles auswählen

find -type d -iname "MUSTER" -printf '%f\n' | sort -h > DATEI.TXT
%f ist der Platzhalter für den Basename.

Wenn es nicht unbedingt sortiert sein muss, schreibt find mit -fprintf auch direkt in eine Datei:

Code: Alles auswählen

find -type d -iname "MUSTER" -fprintf DATEI.TXT '%f\n'
Siehe man find zu -printf.
Manchmal bekannt als Just (another) Terminal Hacker.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von uname » 28.03.2023 18:28:22

Geht doch bestimmt viel einfacher mit awk, oder?

tobo
Beiträge: 1990
Registriert: 10.12.2008 10:51:41

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von tobo » 28.03.2023 18:37:00

Sed und grep muss angepasst werden, da ich das oben falsch gelesen habe - der Teil soll ja entfernt werden:

Code: Alles auswählen

$ echo "ab«de«fg" | sed 's/[^«]*//'
«de«fg
$ echo "ab«de«fg" | grep -o '«.*'
«de«fg
Der . steht für ein beliebiges Zeichen, der * ist der Quantor für den . und bedeutet beliebig viele (*) beliebige Zeichen (.). Ergo, den Rest der Zeile.

Wobei 1. die Frage ist, ob "«de«fg" überhaupt die angestrebte Lösung ist und nicht eher "«de" und 2. du wohl besser dein eigentliches Anliegen genau erklärst. Ansonsten wird das zum Klassiker für ein xy-Problem.

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 28.03.2023 18:48:04

JTH hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:26:12
Was du also letztendlich hier möchtest (wenn ich dich richtig verstehe), ist, den Basename eines Pfades auszugeben – den Teil hinter dem letzten / in einem Pfad.
Ein basename ist in Debiancoreutils. Das ist sehr praktisch.
kalamazoo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 17:48:44
Eine Lösung mit awk habe ich auch gebastelt, bei der Syntax von awk kenne ich mich aber noch weniger aus als bei cut, welches ja relativ simpel ist.
Einer der Vorteile von awk ist, dass man in einem BEGIN Block Variable initialisieren kann und in einem END Block die im mittleren Block "gesammelten" Daten nochmal aufbereiten kann.

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 28.03.2023 18:58:13

kalamazoo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 17:48:44
sed 's/«.*/«/'

Mit grep ginge das auch?
Ja, mit sed sieht das sehr elegant aus, die Syntax scheint ähnlich wie bei rename -- nur: was macht der Punkt?
Brutalstes Quoting - es ist nur für sed aber nicht den Thread relevant.
Das .* bedeutet, dass keine oder beliebig viele Zeichen dem « folgen. Es wird also zum Beispiel ein «TriTra567 durch ein « ersetzt. Ohne den .* würde « nur durch « ersetzt.

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 28.03.2023 20:07:29

JTH hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:26:12
Was du also letztendlich hier möchtest (wenn ich dich richtig verstehe), ist, den Basename eines Pfades auszugeben – den Teil hinter dem letzten / in einem Pfad.
Den Basename auszugeben habe ich mit meinen beiden oben geposteten Commands schon geschafft. Die mittels find gefundenen Verzeichnisnamen haben aber manchmal noch irgendwelche Zeichen zwecks Gliederung im Verzeichnisnamen, e.g. -, _, + #, =, ~ oder auch Ziffern, Buchstaben, etc.. Das heisst, der Basename muss deswegen manchmal noch angepasst werden, wobei der relevante Teil mit « beginnt. "«" deshalb, weil dieses Zeichen sonst normalerweise nicht in Dateinamen vorkommt.
Die Option -printf ist ein sehr guter Vorschlag, nur dürfte der Name erst ab (und inklusive "«") ausgegeben werden und nicht ab "newline".
uname hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:28:22
Geht doch bestimmt viel einfacher mit awk, oder?
Ja, aber wie? Die Basename-Ausgabe mittels awk habe ich -- wie oben gepostet -- hinbekommen, aber nicht, wie ich den Teil vor dem französischen Anführungszeichen entfernen kann.
tobo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:37:00
Der . steht für ein beliebiges Zeichen, der * ist der Quantor für den . und bedeutet beliebig viele (*) beliebige Zeichen (.). Ergo, den Rest der Zeile.
Danke für die Erklärung, schau ich mir gleich näher an!
tobo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:37:00
Wobei 1. die Frage ist, ob "«de«fg" überhaupt die angestrebte Lösung ist und nicht eher "«de" und 2. du wohl besser dein eigentliches Anliegen genau erklärst. Ansonsten wird das zum Klassiker für ein xy-Problem.
Das soll es freilich nicht werden! Meine ursprüngliche Lösung war ja bis auf die ungewollte Beseitigung auch des Trennzeichens dem Ziel schon ziemlich nahe, weshalb ich die Frage möglichst kurz halten und in kein unnötiges Gelaber verfallen wollte. Meine obenstehende, etwas knapp gehaltene Erklärung war diese:
kalamazoo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 17:48:44
Grundsätzlich geht es darum, dass ich in einem Verzeichnis mit einer Reihe von Unterverzeichnissen gewisse Folder auswähle und die Ausgabe bei einem bestimmten Marker innerhalb des Dateinamens beginnen lasse. Mein CUT-Befehl ist auch insofern schon etwas verkorkst, als ich nicht weiss, wie man alles VOR einem bestimmten Feld löscht (hier noch "/", da ja der Pfad vor dem Dateinamen auch weg soll), weshalb ich den jeweiligen String zweimal mit rev umkehre, was dann so aussieht:
Also: ich will mir in einer Verzeichnisstruktur mit tausenden Unterverzeichnissen und zehntausenden Dateien einen gewissen Überblick verschaffen; das ganze ist über die Jahre einigermaßen ins Unübersichtliche gewachsen, weshalb ich bestimmte syntaktische Regeln einzuführen begonnen habe (das "«" ist nur eine davon), um überhaupt etwas zu finden, wenn ich was suche (die Ziffern, Buchstaben, -, _, + #, =, ~ etc. am Verzeichnis- oder auch Dateibeginn sind andere Gliederungsebenen). Jetzt will ich solche Verzeichnisbäume in eine Datei ausgeben, ordnen und dann abgleichen. Ich hoffe, das ist jetzt etwas klarer.

Das ganze klingt wahrscheinlich jetzt schon ziemlich "nerdy". Wenn ich das noch näher ausführe, glaubt ihr wahrscheinlich, dass ich ein Fall für die Klapsmühle bin ... was durchaus etwas für sich haben dürfte, versuche ich doch etwa 25.000.000 Dateien und 3,5 Millionen Verzeichnisse auf ca.50TB zu organisieren (okay, die folgen nicht alle einem bestimmten Schema), also mehr oder weniger alles, was sich in den letzten Jahrzehnten, seitdem ich den Windeln entwachsen bin und auf Computern arbeite, angesammelt hat.
chrbr hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:58:13
Das .* bedeutet, dass keine oder beliebig viele Zeichen dem « folgen. Es wird also zum Beispiel ein «TriTra567 durch ein « ersetzt. Ohne den .* würde « nur durch « ersetzt.
Und bei «* (also ohne Punkt) hätte das * gar keine Auswirkung, wäre also wie ein einfaches « ?
Ich muss mir diese RegEx wirklich einmal genauer anseheh!

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 28.03.2023 22:03:33

kalamazoo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 20:07:29
chrbr hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:58:13
Das .* bedeutet, dass keine oder beliebig viele Zeichen dem « folgen. Es wird also zum Beispiel ein «TriTra567 durch ein « ersetzt. Ohne den .* würde « nur durch « ersetzt.

Und bei «* (also ohne Punkt) hätte das * gar keine Auswirkung, wäre also wie ein einfaches « ?
Ich muss mir diese RegEx wirklich einmal genauer anseheh!
Das stimmt fast. Der Stern bedeutet keines, eines oder beliebig viele des Zeichens vorher. «* kann also passen zu nichts, zu « oder auch zu «««««. Dagegen steht ein + für eines oder beliebig viele des Zeichens vorher. Nimm dir Zeit für die RegEx.Es lohnt sich.

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 28.03.2023 22:36:43

chrbr hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 22:03:33
Der Stern bedeutet keines, eines oder beliebig viele des Zeichens vorher. «* kann also passen zu nichts, zu « oder auch zu «««««. Dagegen steht ein + für eines oder beliebig viele des Zeichens vorher. Nimm dir Zeit für die RegEx.Es lohnt sich.
Okay, got it! Das Asterisk * als Wildcard ist ja Usus und der Dot "." davor offenbar eine RexEx Besonderheit -- Punkt-Sternchen mit dem führenden Anführungszeichen ist logisch stringent.
tobo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 18:37:00
Sed und grep muss angepasst werden ...
Angepasst sieht das dann so aus:

Code: Alles auswählen

$ find -type d -iname "PATTERN" | sed 's/[^«]*//' | sort -h > /HOME/FILE.TXT
bzw.
$ find -type d -iname "PATTERN" | grep -o '«.*' | sort -h > /HOME/FILE.TXT
... und das ist auch die Lösung, beide Befehle funktionieren perfekt!!!

Danke für eure Hilfe!

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 28.03.2023 23:36:44

Vielleicht noch eine kurze Zusammenfassung:

Code: Alles auswählen

$ find -type d -iname PATTERN | rev | cut -d"/" -f1 | rev | sort -h > FILE.TXT

$ find -type d -iname PATTERN | awk -F"/" '{print $NF}' | sort -h > FILE.TXT

$ find -type d -iname PATTERN -printf '%f\n' | sort -h > FILE.TXT
liefern das gleiche Ergebnis, nämlich den Basename; wobei der CUT-Befehl der deutlich langsamste ist

Code: Alles auswählen

$ find -type d -iname PATTERN | rev | { printf «; cut -d« -f1; } | rev | sort -h > FILE.TXT

$ find -type d -iname PATTERN | rev | { printf «; cut -d« -f2-; } | rev | sort -h > FILE.TXT
liefern mit "cut: the delimiter must be a single character" die gleiche Fehlermeldung (wobei ich nicht wirklich weiss, was hier an der Syntax falsch sein soll)

Code: Alles auswählen

$ find -type d -iname "PATTERN" | sed 's/[^«]*//' | sort -h > FILE.TXT

$ find -type d -iname "PATTERN" | grep -o '«.*' | sort -h > FILE.TXT
liefern doch nicht ein ganz gleiches Ergebnis: aus irgendeinem Grund gibt der Befehl mit SED manchmal auch einige Leerzeilen aus

tobo
Beiträge: 1990
Registriert: 10.12.2008 10:51:41

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von tobo » 29.03.2023 00:29:26

Ja, der sed-Befehl war insgesamt ziemlich unsauber/falsch. Er matcht z.B. auf die Leerzeile oder auch auf eine beliebige Zeile ohne «. Identisch zum grep ist sowas hier:

Code: Alles auswählen

sed -n '/«/s/[^«]*//p'
Listet nur noch, was bearbeitet wird und bearbeitet nur noch, was « beinhaltet.

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 29.03.2023 07:44:53

Zu den regulären Ausdrücken gibt eine passende Geschichte. Natürlich ist alles wahr und kein Wort gelogen.

Code: Alles auswählen

Vor nicht allzu langer Zeit hatte ein Informatiker ein Problem.
Er dachte nach, überlegte. Doch es war keine Lösung in Sicht.
Doch eines Morgens rief er "Heureka, ich verwende reguläre Ausdrücke."
Von dem Moment an hatte der Informatiker zwei Probleme.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von uname » 29.03.2023 09:51:24

... und dann kam die Einsicht, dass sich nicht alle Probleme mit Chomsky Typ-3-Grammatik lösen lassen ...

Chomsky-Hierarchie (Wikipedia)

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 29.03.2023 12:03:00

Hallo @uname,
das ist ein interessanter Artikel. Von einigen wenigen Dingen hatte ich eine nebulöse Vorstellung, von dem meisten Dingen praktisch keine Ahnung. Den Artikel werde ich noch mehrfach lesen müssen und die Links sind bestimmt auch hilfreiche.

Ganz klar ist mir, dass das reine Programmieren nur ein winziger Punkt darstellt. Genauso wie bei einem Elektronik Hardwareentwickler voraus setzbar sein sollte, dass er auch löten kann.

Vielen Dank,
Christoph

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 29.03.2023 12:48:18

tobo hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 00:29:26
Ja, der sed-Befehl war insgesamt ziemlich unsauber/falsch. Er matcht z.B. auf die Leerzeile oder auch auf eine beliebige Zeile ohne «. Identisch zum grep ist sowas hier:

Code: Alles auswählen

sed -n '/«/s/[^«]*//p'
Listet nur noch, was bearbeitet wird und bearbeitet nur noch, was « beinhaltet.
Ja, jetzt scheint er fehlerfrei! Danke!
Mit der Syntax muss ich mich noch etwas beschäftigem :hail:
uname hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 09:51:24
... und dann kam die Einsicht, dass sich nicht alle Probleme mit Chomsky Typ-3-Grammatik lösen lassen ...
Chomsky-Hierarchie (Wikipedia)
Hey, was erwartet ihr von einem Susi-Sorglos WindowsXP-Anwender wir mir? Dass er sich vielleicht auch noch mit Computern und deren Programmierung beschäftigt? Klick and go! ... oder ist das bei Windows nicht Doppelklick? :roll:

Dank an alle, die mir dabei helfen, den Horizont meiner Ignoranz etwas zurückzudrängen :THX:

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von JTH » 29.03.2023 12:56:41

kalamazoo hat geschrieben: ↑ zum Beitrag ↑
28.03.2023 23:36:44

Code: Alles auswählen

$ find -type d -iname PATTERN | rev | { printf «; cut -d« -f1; } | rev | sort -h > FILE.TXT

$ find -type d -iname PATTERN | rev | { printf «; cut -d« -f2-; } | rev | sort -h > FILE.TXT
liefern mit "cut: the delimiter must be a single character" die gleiche Fehlermeldung (wobei ich nicht wirklich weiss, was hier an der Syntax falsch sein soll)
Ah, anscheinend (?!) ist (GNU) cut nicht in der Lage, mit Multibyte-Charactern umzugehen.

« besteht aus zwei Byte, im Gegensatz zu z.B. /:

Code: Alles auswählen

~$ for c in « /; do printf "$c" | xxd; done
00000000: c2ab                                     ..
00000000: 2f                                       /
Dann hätte das Aufteilen mit cut am Trennzeichen « wohl eh nicht funktionieren können.
Manchmal bekannt als Just (another) Terminal Hacker.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von uname » 29.03.2023 13:17:49

kalamazoo hat geschrieben: Dank an alle, die mir dabei helfen, den Horizont meiner Ignoranz etwas zurückzudrängen
Auf der flachen Erde könntest du den Horizont bis ans Ende der Erdscheibe zurückdrängen (da wo du runterfällst). Auf der Kugelerde kannst du aufgrund der Horizontformel den Horizont etwa mit der Wurzel deiner aktuellen Höhe zurückdrängen. Am besten du ziehst ins Gebirge. Ach ne ging ja nur um Ignoranz. Hatte ich doch glatt bei meinem Kommentar ignoriert. ;-)
Horizont/Sichtweite berechnen, Youtube Flo+, Geodäsie

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 29.03.2023 13:37:10

JTH hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 12:56:41
Ah, anscheinend (?!) ist (GNU) cut nicht in der Lage, mit Multibyte-Charactern umzugehen.
So weit klar -- aber könnt ihr mir einen Link oder gerne auch ein Buch (gerne auch in Englisch) zum Skripting empfehlen, da habe ich nämlich noch viel Aufholbedarf!
uname hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 13:17:49
Auf der flachen Erde könntest du den Horizont bis ans Ende der Erdscheibe zurückdrängen (da wo du runterfällst). Auf der Kugelerde kannst du den Horizont etwa mit der Wurzel deiner aktuellen Höhe zurückdrängen (Horizontformel). Am besten du ziehst ins Gebirge. Ach ne ging ja nur um Ignoranz ;-)
Im Gebirge verstellen mir die Berge den Horizont oder das schlechte Wetter. Es würde reichen, wenn ihr mir beim Wachsen helft, dem geistigen und wissensmäßigen meine ich!

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von uname » 29.03.2023 13:49:19

kalamazoo hat geschrieben:So weit klar -- aber könnt ihr mir einen Link oder gerne auch ein Buch (gerne auch in Englisch) zum Skripting empfehlen, da habe ich nämlich noch viel Aufholbedarf!
Du kannst ja mal das PDF Useless use of * anschauen.
Leider geht es dort mehr um cat als um cut. Aber so groß ist der Unterschied gar nicht. Zudem hast du vielleicht auch dort noch Aufholbedarf. ;-)
Wirklich interessant wird es ab Seite 18.

chrbr
Beiträge: 550
Registriert: 29.10.2022 15:53:26

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von chrbr » 29.03.2023 14:02:39

kalamazoo hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 13:37:10
So weit klar -- aber könnt ihr mir einen Link oder gerne auch ein Buch (gerne auch in Englisch) zum Skripting empfehlen, da habe ich nämlich noch viel Aufholbedarf!
Im Wiki zu suchen ist nie verkehrt. https://wiki.debianforum.de/Regul%C3%A4 ... r%C3%BCcke
Ziemlich unten steht etwas von einen gewissen meillo :mrgreen: .

kalamazoo
Beiträge: 288
Registriert: 28.08.2017 11:31:49

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von kalamazoo » 30.03.2023 07:22:07

uname hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 13:49:19
Du kannst ja mal das PDF Useless use of * anschauen.
Ernsthaft? ... ich habe eine Katzenallergie
chrbr hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 14:02:39
Im Wiki zu suchen ist nie verkehrt. https://wiki.debianforum.de/Regul%C3%A4 ... r%C3%BCcke
Danke, werde ich mir über die Feiertage näher ansehen. Es gibt eine Menge Websites diesbezüglich, ich dachte nur, es gibt irgendeine Art Standardwerk darüber.

tobo
Beiträge: 1990
Registriert: 10.12.2008 10:51:41

Re: [gelöst] CUT-Befehl mit Beibehaltung des Trennzeichens

Beitrag von tobo » 30.03.2023 09:06:45

kalamazoo hat geschrieben: ↑ zum Beitrag ↑
29.03.2023 13:37:10
So weit klar -- aber könnt ihr mir einen Link oder gerne auch ein Buch (gerne auch in Englisch) zum Skripting empfehlen, da habe ich nämlich noch viel Aufholbedarf!
Da Shell heute gleichzusetzen mit Bash ist, könnten die beiden hier was sein:
https://tldp.org/LDP/Bash-Beginners-Gui ... index.html
https://tldp.org/LDP/abs/html/
Wobei die aber eher nebeneinander und ergänzend stehen und nicht nacheinander, wie die Titel vielleicht vermuten lassen könnten. Sind auch als PDFs erhältlich (in der URL zurückgehen).

Antworten