出力の最初の行の最初のフィールドを印刷しようとしています。以下がその例です。この出力からSUSE
のみを印刷する必要があります。
# cat /etc/*release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 2
cat /etc/*release | awk {'print $1}'
で試しましたが、すべての行の最初の文字列を出力します
SUSE
VERSION
PATCHLEVEL
選択した行から出力をキャプチャする場合は、 NR
を指定します。
awk 'NR==1{print $1}' /etc/*release
別の(ugly)同じ方法を実現する方法は次のとおりです。
awk '{print $1; exit}'
出力の特定の行、たとえば行42から最初の文字列を取得する効率的な方法は次のとおりです。
awk 'NR==42{print $1; exit}'
NR
組み込み変数を使用して行番号を指定します。
awk 'NR==1{print $1}' /etc/*release
これを試して:
head -1 /etc/*release | awk '{print $1}'
sed -n 1p /etc/*release |cut -d " " -f1
タブ区切りの場合:
sed -n 1p /etc/*release |cut -f1
head
の代わりにcat
を使用できます。
head -n1 /etc/*release | awk '{print $1}'
awk、sed、パイプ、それは重い
set `cat /etc/*release`; echo $1
コンテナを実行しているプロセスを強制終了できます。
このコマンドを使用すると、Dockerコンテナに関連するプロセスを一覧表示できます。
ps -aux | grep $(docker ps -a | grep container-name | awk '{print $1}')
これで、killまたはkill -9で強制終了するプロセスIDができました。
試して
sed 'NUMq;d' /etc/*release | awk {'print $1}'
nUMは行番号です
ex. sed '1q;d' /etc/*release | awk {'print $1}'