我需要从当前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
答案 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