catが入力を(文字列の代わりに)ファイルとして解釈するようにします。

catが入力を(文字列の代わりに)ファイルとして解釈するようにします。

cat入力がファイル文字列かどうかに応じて、2つの異なる動作があります。cat私のPDFビューア(Zathura)にファイルをパイプする必要があります。ファイル名は、sed次のように変更された文字列に基づいています。

cat <(echo test.tex | sed 's/[^.]*$/pdf/') | zathura -

私はこのライナーがファイル名文字列を変換し、test.texそれtest.pdfをZathuraにパイプしてそのファイルを開くようにしたいと思います。上記のコマンドラインは、入力がファイルでcatはなく文字列として解釈されるため、機能しません。

確かに、

echo test.tex | sed 's/[^.]*$/pdf/') | zathura

うまくいかなかったので、いたずらを試しましたcat

ベストアンサー1

あなたは言わなかった:

cat $(echo test.tex | sed 's/[^.]*$/pdf/') | zathura -

これにより、結果は標準入力ではなくsedパラメータになります。cat

以下も使用できます。

cat $(basename $file .tex).pdf | zathura -

または

cat ${file%.*}.pdf | zathura -

おすすめ記事