保留目录时修改内存中的文件

时间:2015-11-24 18:06:22

标签: bash sed

是否有办法在命令接收文件之前修改文件内容,同时保留其目录?

mpv 'https://example.com/directory/file.playlist'

但在sed读取内容之前使用mpv修改内存中的内容?

问题是我不能直接读取文件,它必须维护它所在的目录,因为播放列表中的文件是相对于该目录的。

I just need to replace .wav with .flac

2 个答案:

答案 0 :(得分:1)

通常您可以使用process substitution

mplayer <(curl 'http://...' | sed 's/\.wav/.flac/')

但是,mplayer支持filename参数的特殊选项-(连字符),这意味着从stdin 读取文件。这允许您使用管道:

curl 'http://...' | sed 's/\.wav/.flac/' | mplayer -

答案 1 :(得分:0)

到目前为止,我正在使用它来实现我的需要,但它并不完全理想,因为我失去了播放列表控件。

ssh example.com "tar czpf - 'files/super awesome music directory'" | tar xzpf - -O | mpv -