awk
端末でうまく機能するコマンドがあります。awk
列見出しに基づいて別のファイルを生成します。 awkコマンド:
for((i=2;i<5;i++)); do
awk -v i=$i 'BEGIN{OFS=FS="\t"}NR==1{n=$i}{print $1,$i > n".txt"}' ${Batch}.result.txt
done
シェルスクリプトにマージすると、同じコマンドがエラーを表示します。
Syntax error: Bad for loop variable
仕組みは次のとおりです。提案されているようにshe-bangを試しましたが、エラーが繰り返されました。
for i in 2 3 4; do awk -v i=$i 'BEGIN{OFS=FS="\t"}NR==1{n=$i}{print $1,$i n".txt"}'
ベストアンサー1
私はエラーがあなたのコマンドにAwk
関連していないと思います。 forループ構成がサポートされていないsh
POSIX bourneシェルでこれを実行していると思います。((
bash
スクリプトを実行し、shebangをインストールパスに設定します。#!/usr/bin/env bash
検索は常に可能なわけではないので、通常これを行うのは安全です。#!/usr/bin/env
特にLinux以外のシステムではさらにそうです。 OpenBSDシステムの場合。PATH
bash
bash
/bin
/usr/local/bin