入力は次の形式で提供されます。
ksh -x count.sh filename `cat filepath/filename | wc -l
ここでの問題は、2番目のパラメータcatを別の変数に渡して実行する必要があることですexpr -1
。
私の要件は、コマンド自体の数を計算してスクリプトに渡す必要があることです。
実際に計算されるレコードの総数は1未満でなければなりません。ヘッダーレコードも削除する必要があります。
答え1
ファイルの合計レコード数を1つずつ減らす最も簡単な方法は次のとおりですawk
。
awk 'END { print NR - 1 }' filename
NR
NR
これは、これまでに読み取ったレコード数を保持する内部変数である負の値を出力します。これは入力の終わりに行われ、ファイルの総レコード数から1を引いた値が与えられます。
これにより、コマンドは次のように書くことができます。
ksh -x count.sh filename "$( awk 'END { print NR - 1 }' filename )"