ubuntuusers.de

TeVariable Text ausschneiden

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

gerasifbesmumu

Anmeldungsdatum:
11. Dezember 2019

Beiträge: 21

Hallo 😬 Ich will, ein text variable, wegschneiden

*Z.B*

 Ich bin ein test datei

ich will dann: este 3 buchstaben wegschneiden, dann 9 bis 11 buchstabe wegschneiden, dann letzte 5 buchstaben wegschneiden,

*Ergebnuss soll so aussehen:*
 bin test

Danke, Voraus

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9604

Wohnort: Münster

Welche Programmiersprache willst Du verwenden?

Wenn es eine POSIX-Shell oder die Bash sein soll, findest Du Methoden zur Textbearbeitung im Artikel:

gerasifbesmumu

(Themenstarter)

Anmeldungsdatum:
11. Dezember 2019

Beiträge: 21

kB schrieb:

Welche Programmiersprache willst Du verwenden?

Wenn es eine POSIX-Shell oder die Bash sein soll, findest Du Methoden zur Textbearbeitung im Artikel:

#!/bin/bash

shiro

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1223

#!/bin/bash este 3 buchstaben wegschneiden, dann 9 bis 11 buchstabe wegschneiden, dann letzte 5 buchstaben wegschneiden,

probier mal

$ #  123456789.123456789.12
$ #  0123456789.123456789.1
$ #     12345   ......54321 
$ a="Ich bin ein test datei"
$ echo ">${a:3:5}${a:11:-5}<"
> bin  test <
$ # oder mit cut
$ echo "$a" | cut -b 4-8,12-$((${#a}-5))
 bin  test 
$ # oder mit sed
$ sed -E 's/.{5}$//;s/^.{3}(.{5}).{3}(.*)$/\1\2/' <<< "$a"
 bin  test 
$ 

gerasifbesmumu

(Themenstarter)

Anmeldungsdatum:
11. Dezember 2019

Beiträge: 21

shiro schrieb: [...]

Danke hat geklappt 😎 👍

Bearbeitet von rklm:

Unnötiges Vollzitat entfernt

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17597

Wohnort: Berlin

Ist es wichtig, dass 2 Leerstellen erhalten bleiben?

Für ganze Wörter (besser: Zeichenketten), die per Whitespace voneinander getrennt sind, ist auch colX ein sehr sophisticated Werkzeug (X eine Zahl zw. 1 und 9):

1
2
3
4
t="Ich bin ein test datei"
t1=$(echo $t | col2)
t2=$(echo $t | col4)
echo $t1 $t2 

Ergebnis:

1
dudensh :> Meinten Sie vielleicht: `"Ich bin eine Testdatei"` (1:13)?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13149

gerasifbesmumu schrieb:

ich will dann: este 3 buchstaben wegschneiden, dann 9 bis 11 buchstabe wegschneiden, dann letzte 5 buchstaben wegschneiden,

Geht es Dir wirklich um Buchstabenpositionen oder vielleicht eher um Wörter? Deine Anforderung ist relativ ungewöhnlich. So etwas hat man ja nur, wenn man Zeichenketten fester Länge hat, in denen bestimmte Subsequenzen vorkommen, die man entfernen oder selektieren will. So etwas kommt bei EAN-Nummern, Seriennummern oder Modellkennzeichnungen vor. Was ist denn Dein Use Case?

Antworten |