我可以将字符串附加到文件名,而不必输入两次命令的重复部分:
mv foo{,_bar}
这将把我的重命名foo
为foo_bar
。
有没有办法做相反的事情 - 删除_bar
文件foo_bar
名而不必再次输入相同的内容?也就是说 - 不做类似的事情:
mv long/path/to/foo_bar long/path/to/foo
答案1
在 bash 中,可以使用参数扩展:
path=/long/path/to/foo_bar
mv "$path" "${path%_bar}" # Remove the pattern from the end of the value.
对于文字字符串,您只需切换花括号中元素的顺序即可:
mv long/path/to/foo{_bar,}