3

テキストファイルにリストされているすべてのファイルを VLC プレイリストにエンキューしようとしています。各行には、ムービー ファイルへの絶対パスが保持されます。

プレイリストにファイルを 1 つだけ追加すると、完全に機能します。

vlc --playlist-enqueue someMediaFile

次のように cat と awk を使用して、テキストファイルにリストされているすべての行に対してコマンド (印刷など) を実行することもできます。

cat avis.txt | awk '{print $0}'

...

しかし、組み合わせるとうまくいきません:

cat avis.txt | awk '{vlc --playlist-enqueue $0}'

上記の行は、ファイル avis.txt の内容を 1 行ずつ標準出力に出力し、awk はそこからパイプを使用して 1 行ずつデータを読み取ります。また、awk は $0 をファイルの 'n' 行に置き換えます。したがって、awk によって実行されるすべてのコマンドは次のようになります。

vlc --playlist-enqueue firstLineFromAvis.txt
vlc --playlist-enqueue secondLineFromAvis.txt
...
vlc --playlist-enqueue nLineFromAvis.txt

しかし、それは起こっていません。誰かが私が間違っていることを教えてもらえますか? そのような awk を使用してパラメーターを指定してプログラムを実行することはできませんか?

読んでくれてありがとう。

ジョン

4

2 に答える 2

5
xargs -a avis.txt -I {} vlc --playlist-enqueue {}
于 2012-08-28T00:34:15.507 に答える
0
cat avis.txt | awk '{print "vlc --playlist-enqueue "$0}' > updatedFile.txt
于 2012-08-28T00:30:56.917 に答える