ディレクトリツリー内のXMLファイルを検索し、別のディレクトリ(staging_ojs_pootle)にリンクを作成して、ファイルパス(これらのリンクをドットごとに置き換える)に命名する必要があります。xargs変数を置き換えると空の文字列が返される
bashコマンドが機能していないと、私は交換部品につかまってしまいました。私は空の文字列を与え、「ファイル」という名前xargsの変数から、のように思える$ {}結果内の置換コード(${file/\//.})
find directory/ -name '*.xml' | xargs -I 'file' echo "ln" file staging_ojs_pootle/${file/\//.}
交換内部アクセスできません。/
find directory/ -name '*.xml' | xargs -I 'file' echo "ln" file staging_ojs_pootle/file |sed -e '/^ln/s/\(staging_ojs_pootle.*\)[\/]\(.*\)/\1.\2/g'
よろしく
を 'file'は、シェル変数の名前ではありませんこれは、処理中のXMLファイルの名前でxargsに置き換えられるプレースホルダーです。したがって、 '$ {file ...}'のようなシェル変数置換コマンドを使用することはできません。いくつかのサンプル入力と期待される出力を見せたら、私たちはあなたを助けることができます。 –