1

次のテーブル内にある contenido.txt というファイルがあります

Nombre column1 column2 valor3
Marcos    1      0     0
Jose      1      0     0
Andres    0      0     0
Oscar     1      0     0
Pablo     0      0     0

column2 に 0 しかない行の最終ファイルまたは出力が必要です

私を手伝ってくれますか?

cat contenido.txt | while read LINE; do
var=$(cat $LINE | awk '{print $2}')

if ["$var" == 0]
then
echo $LINE | awk '{print $1}'
fi
done
4

2 に答える 2

2

コードを読んだ後、column 2実際には2番目の列(ヘッダー「column1」の列)であり、ヘッダー「column2」の列ではありません。したがって、この行が役立ちます:

awk 'NR==1{print;next}$2==0' file

データでテストする

kent$  echo "Nombre column1 column2 valor3
Marcos    1      0     0
Jose      1      0     0
Andres    0      0     0
Oscar     1      0     0
Pablo     0      0     0"|awk 'NR==1{print;next}$2==0'
Nombre column1 column2 valor3
Andres    0      0     0
Pablo     0      0     0

コードの2番目の部分は、最初の列(名前?)を抽出しているようです。これは、awk を使用して 1 回で実行できます (ヘッダーは無視してください)。

kent$  echo "Nombre column1 column2 valor3
Marcos    1      0     0
Jose      1      0     0
Andres    0      0     0
Oscar     1      0     0
Pablo     0      0     0"|awk '$2==0{print $1}'      
Andres
Pablo
于 2013-10-02T12:17:20.863 に答える