この質問を 2011 年のスレッドに投稿しました ( grep を使用して xml タグ内のテキストを取得します)。固定名の代わりにコマンドライン引数 ($1=filname、$2=tagname) を使用して、最終的な回答を得ようとしました。
grep -E -m 1 -o "<$2>(.*)</$2>" ./private/$1.xml | sed -e 's,.*<$2>\([^<]*\)</$2>.*,\1,g'
パイプの後の部分が引数 $2 を取得しないため、これは明らかに機能しません。私はまったくの Linux 初心者ですが、パイプが親の引数を取得しない新しいプロセスを開始するというのが私の予感です。私はかなり長い間Googleを試しましたが、もっと混乱しています. これに対する簡単な回避策はありますか?