Ich brauche String zwischen 2. # zu. (Punkt) mit Unix-Befehl. Für die Ex-String ist TEST#CV01#170403053938.csv
Ausgabe 170403053938
Zeichenkette zwischen zwei spezifischen Zeichen in Unix
sein sollte Kann bitte jemand beraten, wie zu bekommen.
Ich brauche String zwischen 2. # zu. (Punkt) mit Unix-Befehl. Für die Ex-String ist TEST#CV01#170403053938.csv
Ausgabe 170403053938
Zeichenkette zwischen zwei spezifischen Zeichen in Unix
sein sollte Kann bitte jemand beraten, wie zu bekommen.
Try this -
$ echo "TEST#CV01#170403053938.csv"|egrep -o '[[:digit:]]{10,20}'
170403053938
ODER
$ echo "TEST#CV01#170403053938.csv"|awk -F'[#.]' '{print $3}'
170403053938
Versuch:
A="TEST#CV01#170403053938.csv"
B=${A##*#}
echo ${B%%.*}
ich einfach Parameter Expansion bin mit den genauen erforderlichen Werte hier.
Danke funktioniert gut – rajabc
Könnte mit sed
(möglicherweise Overkill) gemacht werden, aber aus Gründen der Regex!
echo "TEST#CV01#170403053938.csv"|\
sed -e 's/\(.*#.*#\)\(.*\)\(\.csv\)/\2/'
Dank 2. ist geeignet. – rajabc
@rajabc - Willkommen :) http://stackoverflow.com/help/someone-answers –