it-swarm.com.de

Befehl cut oder awk, um das erste Feld der ersten Zeile zu drucken

Ich versuche, das erste Feld der ersten Zeile einer Ausgabe zu drucken. Hier ist der Fall. Ich muss nur SUSE aus dieser Ausgabe drucken.

# cat /etc/*release

SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2

Versucht mit cat /etc/*release | awk {'print $1}' aber das gibt die erste Zeichenfolge jeder Zeile aus

SUSE
VERSION
PATCHLEVEL
55
user3331975

Geben Sie NR an, wenn Sie die Ausgabe von ausgewählten Zeilen erfassen möchten:

awk 'NR==1{print $1}' /etc/*release

Eine alternative ( hässliche ) Möglichkeit, dasselbe zu erreichen, wäre:

awk '{print $1; exit}'

Ein effizienter Weg, den ersten String aus einer bestimmten Zeile (z. B. Zeile 42) in der Ausgabe abzurufen, wäre:

awk 'NR==42{print $1; exit}'
140
devnull

Geben Sie die Zeilennummer mit der integrierten Variablen NR an.

awk 'NR==1{print $1}' /etc/*release
17
jaypal singh

versuche dies:

head -1 /etc/*release | awk '{print $1}'
7
developer
sed -n 1p /etc/*release |cut -d " " -f1

wenn tabulatorgetrennt:

sed -n 1p /etc/*release |cut -f1
2
Raha Pazoki

Sie können head anstelle von cat verwenden:

head -n1 /etc/*release | awk '{print $1}'
2
Junaid18183

awk, sed, pipe, das ist schwer

set `cat /etc/*release`; echo $1
1
Emmanuel

Sie können den Prozess beenden, der den Container ausführt.

Mit diesem Befehl können Sie die Prozesse auflisten, die mit dem Docker-Container zusammenhängen:

ps -aux | grep $(docker ps -a | grep container-name | awk '{print $1}')

Jetzt haben Sie die Prozess-IDs zum Töten mit kill oder kill -9.

0
user3322829

Versuchen

sed 'NUMq;d'  /etc/*release | awk {'print $1}'

dabei ist NUM die Zeilennummer

ex. sed '1q;d'  /etc/*release | awk {'print $1}'
0
Jayesh Bhoi