CSVファイルの列値が1より大きい場合にのみ、Linuxコマンドを実行します。

CSVファイルの列値が1より大きい場合にのみ、Linuxコマンドを実行します。

CSVファイルの特定の列の値が1より大きい場合にのみ、Linuxコマンドを実行する方法を見つけようとします。

サンプルCSVファイル:

Item,Quantity  
Pen,1  
Pencil,1  
Stapler,3  

上記の例を使用して、スクリプトがCSVの列2を確認し、値が1より大きい場合(この場合は3であるため)、コマンドを実行して列2のすべての値が1に等しくなるようにします。 、それでは何もできません。

これを助ける人がいますか?

ベストアンサー1

awk -F, 'NR>1 && $2 > 1 {found=1 ; exit} ; END {exit !found}' file.csv && mycommand

0フィールド2> 1の場合(true)で終了します。それ以外の場合は1(false)で終了します。mycommandtrueの場合は実行します。

NR>1ヘッダーをスキップしますItem,Quantity(文字列「数量」は> 1と評価されます)。

おすすめ記事