ループ内のある文字から別の文字に行を抽出します。

ループ内のある文字から別の文字に行を抽出します。

ここでは、1文字から2番目の文字に行を抽出するのにうまく機能する次の行があります(最後の行を除く)。

sed -n -e '/>AB123|x2/,/>/ p' filename | sed -e '$d' > output

しかし、複数のものを処理するためにスクリプトで書くと、もう機能しません。ループとコマンドで「'>」と「$ C」のすべての組み合わせを試しましたが、機能しません。見ていただけますか?

for C in >AB123|x2
do
sed -n -e '/"$C"/,/>/ p' filename | sed -e '$d' >> output
done

ベストアンサー1

成功!ご意見ありがとうございます!ループ内の文字は「」で表され、ANDコマンドの変数は「」で表されます。ハイファイブで本当にありがとうございました!人

for C in '>AB123|x2'
  do
  sed -n -e '/'"$C"'/,/>/p' filename | sed -e '$d' >> output
done

(この部分は入力に一度だけ現れると仮定します。)

おすすめ記事