最后使用DOT的linux mc扩展命令

时间:2014-12-27 17:18:08

标签: linux xargs mc

我需要从当前mc面板中的文件名中剪切一些第一个字符,并使用此名称在pasive mc面板中创建硬链接。例如:

ls 001-a\ b.flac | cut -c 5- | xargs -0 -I{} echo ln %p %D/{}

我得到了预期的结果:

ln 001-a b.flac /srv/Music/a b.flac

但是,没有回声:

ls 001-a\ b.flac | cut -c 5- | xargs -0 -I{} ln %p %D/{}

我得到结果:

ln 001-a b.flac /srv/Music/a b.flac.

将DOT放在pasive面板中的文件名末尾

我发现了类似的问题how to remove final “dot” from directory name。但是如何在mc扩展命令的文件名末尾避免这个DOT?

PS
mc扩展文件中的问题xpression:

regex/i/\.flac
Open=ls %p | cut -c 5- | xargs -0 -I{} ln %p %D/{}

添加解决方案?

如何在"How can i pass all arguments with xargs in middle of command in linux"

中找到包含硬链接和歌曲重构名称的播放列表
ln %p %D/"`ls %p | cut -c 5- `"

仅适用于mc envirounment

2 个答案:

答案 0 :(得分:0)

您是否考虑过使用find / sed修改名称?

find . -name "001-a b.flac" -maxdepth 0 -print0 | sed 's/001-//g' | xargs -0 -I{} ln %p %D/{}

然后你当然可以使sed更通用:

sed 's/[[:digit:]]\+-//g'

我不确定" mc"是的,所以我的回答可能不完全是你需要的。祝你好运。

答案 1 :(得分:0)

如何在"How can i pass all arguments with xargs in middle of command in linux"

中找到包含硬链接和歌曲重构名称的播放列表
ln %p %D/"`ls %p | cut -c 5- `"

仅适用于mc envirounment

user1855805