grep erste Zahl in einer Datei

grep erste Zahl in einer Datei

Ich habe eine Datei mit der folgenden Zeichenfolge:

333.222.2.1

Wie lautet der Befehl in Linux, um einfach 333 zu grepen und es in eine Variable zu setzen?

Antwort1

KurzschneidenBefehlsansatz:

v=$(cut -d'.' -f1 filename)
echo $v
333

Oder mitgrep:

v=$(grep -o '^[0-9]*' filename)

Antwort2

Wenn die Datei keine weiteren Zeilen enthält, var=$(awk -F. '{print $1}' filename)wird das gewünschte ausgeführt.

Antwort3

Das hat bei mir funktioniert:

grep -oE '^\s*[0-9]+' filename

Zuweisung zu einer Variablen:

var=$(grep -oE '^\s*[0-9]+' filename.txt)

verwandte Informationen