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 -