Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 19:14:25
Lässt sich ein
String in einem Zug vorn und hinten beschneiden?
Code: Alles auswählen
s=beg_string_end
echo ${s#beg}
_string_end
echo ${s%end}
beg_string_
echo ???
_string_
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
smutbert
- Beiträge: 8342
- Registriert: 24.07.2011 13:27:39
- Wohnort: Graz
Beitrag
von smutbert » 21.09.2014 19:31:34
Ok, die Zahlen stimmen nicht, aber zählen darfst du selbst
(wenn du wirklich die abzuschneidenden Zeichen angeben willst, weiß ich auch nichts)
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 19:43:46
mit
geht dieser Fall.
Statt Anfang+Ende schneidet er die Mitte, die aber variabel ist.
Etwas wie
wäre gut!
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von habakug » 21.09.2014 19:48:25
Hallo!
Gruss, habakug
-
smutbert
- Beiträge: 8342
- Registriert: 24.07.2011 13:27:39
- Wohnort: Graz
Beitrag
von smutbert » 21.09.2014 19:50:06
Was sollte :3:-3 machen. -3 Zeichen ab der dem dritten Zeichen ausgeben, also in diesem Fall geb?
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 19:54:53
smutbert hat geschrieben:Was sollte :3:-3 machen?
3 vorn und 3 hinten wegschneiden
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 19:59:59
Hallo
habakug, braucht mal wieder eine zündende
Idee von dir!
Gruß,
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
habakug
- Moderator
- Beiträge: 4314
- Registriert: 23.10.2004 13:08:41
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von habakug » 21.09.2014 20:04:49
Hallo!
Da war ich wohl zu langsam. Die Vorschaufunktion zeigt scheinbar nicht (mehr) an, das inzwischen ein neues Posting erstellt wurde. Sonst hätte ich mir das gespart.
Das
funzt hier allerdings (bash 4.3).
Gruss, habakug
-
smutbert
- Beiträge: 8342
- Registriert: 24.07.2011 13:27:39
- Wohnort: Graz
Beitrag
von smutbert » 21.09.2014 20:07:22
-3 funzt bei mir auch nicht
GNU bash, Version 4.3.24(1)-release…
aber habe ich noch einen Versuch frei?
[/s]
Zuletzt geändert von
smutbert am 21.09.2014 20:34:13, insgesamt 1-mal geändert.
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 20:13:52
habakug hat geschrieben:
Das
funzt hier allerdings (bash 4.3).
Das geht wirklich!!
War mir nur logisch erschienen... du hast offenbar schon jessie.
Wenn das so ist wäre das ein Grund für ein source-build. Danke für den Tipp!
Du hast's wieder drauf...
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 20:28:14
smutbert hat geschrieben:habe ich noch einen Versuch frei?
Klar hast du noch einen Versuch frei!
Ich komme aber nur bis:
$len ist ja nicht gesetzt.
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
4A4B
- Beiträge: 962
- Registriert: 09.11.2011 11:19:55
-
Kontaktdaten:
Beitrag
von 4A4B » 21.09.2014 20:31:10
habakug hat geschrieben:Das
funzt hier allerdings (bash 4.3).
Funktioniert bei mir auch unter Wheezy
Code: Alles auswählen
$ s=beg_string_end
$ echo ${s:3:-3}
_string_
$ bash --version
GNU bash, Version 4.2.37(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
Lizenz GPLv3+: GNU GPL Version 3 oder jünger <http://gnu.org/licenses/gpl.html>
Dies ist freie Software. Sie darf verändert und verteilt werden.
Für dieses Programm besteht keinerlei Garantie.
-
smutbert
- Beiträge: 8342
- Registriert: 24.07.2011 13:27:39
- Wohnort: Graz
Beitrag
von smutbert » 21.09.2014 20:38:25
$len ignoriert er einfach. Jetzt geht es bei mir doch auch mit :3:-3. Keine Ahnung wo ich mich da vertippt habe.
(Threads wie diesen werde ich in Zukunft nur mehr interessiert und ausschließlich lesend verfolgen)
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 21.09.2014 20:51:44
Ist eine neues Feature der
bash!
alte manpage:
${parameter:offset:length}
... length must evaluate to a number greater than or equal to zero.
aktuell:
If length evaluates to a number less than zero, and parameter is not ‘@’ and not an indexed or associative array, it is interpreted as an offset from the end of the value of parameter rather than a number of characters, and the expansion is the characters between the two offsets.
Klasse ausgedacht!
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 22.09.2014 00:19:25
beim
bash-bauen hat mir
Chet Ramey noch einen Trick gezeigt:
Code: Alles auswählen
# examples/startup-files/bashrc
xtitle ()
{
echo -n -e "\033]0;$*\007"
}
cd()
{
builtin cd "$@" && xtitle $HOST: $PWD
}
wird zu:
Mega
Cool
-der_linux_cowboy --- Besser werden! ... f*** w$$
-
linuxCowboy
- Beiträge: 287
- Registriert: 05.02.2013 19:47:41
Beitrag
von linuxCowboy » 22.09.2014 01:34:57
Ich komm nicht mehr nach Hause!!
Code: Alles auswählen
/tmp $ cd () { builtin cd "$1" && echo -ne "\e]0;$PWD\a";}
/tmp $
/tmp $ cd
/tmp $
... Fix:
Code: Alles auswählen
/tmp $ cd () { builtin cd "${1-$HOME}" && echo -ne "\e]0;$PWD\a";}
/tmp $
/tmp $ cd
/home/lxc $
Ich sollte Chet einen Tipp geben...
-der_linux_cowboy --- Besser werden! ... f*** w$$