0
変数内で一緒に使用するsed &の出力をキャプチャできません。以下はスクリプトのコードスニペットです:変数にsed出力を割り当てることができません
max=$(sed -n '1,${/$i/p;q;}' $file | cut -d "," -f2)
maxの値を印刷すると空白が表示されます。しかし、以下のように端末で実行すると、コード行は正常に動作しています。
sed -n '1,${/$i/p;q;}' $file | cut -d "," -f2
なぜ割り当てが失敗したのか分かりません。誰も私をここで助けてくれませんか?
よろしく、コメントに記載されている(とOPのために働いていた)のよう Sayantan
ここで成果を上げようとしていることがわかりません。明らかに '1、$'から2行でいくつかのsed処理をしているので、パイプは2つの値を渡す必要があります。つまり、値を格納する配列が必要です。 – sjsam
@sjamはい2つの値を与えていますが、 2列目の値だけを取得します。私は$ iを文字列で置き換えました。正確なファイル名を持つ$ファイルは、のような行を持ち、端末で直接実行しました。それはとして出力しています。しかし、スクリプト内では変数maxに割り当てられていません。 –
さて、 'sed'の' 1、$ {/ $ i/p; q;} 'が論理的に間違っている 'q'に気付きました。 sedはいずれの場合も最初の行の後に終了し、最後の行には行かない。さらに、 '-n'オプションを使用して出力を抑止しているわけではありません。つまり、最初の行が2回出力されます。ここで何を達成しようとしていますか? – sjsam