我使用这个命令查找目录中的某些文件:追加目录名文件的末尾,移动它们
find /Users/myname -type f
输出为:
/Users/myname/test01/logs1/err.log
/Users/myname/test01/logs1/std
/Users/myname/test01/logs2/std
/Users/myname/test02/logs2/velocity.log
/Users/myname/test03/logs3/err.log
/Users/myname/test03/logs3/invalid-arg
我需要移动这个文件通过将测试目录名追加到文件的末尾来将目录名添加到不同的目录。像下面这样:
err.log-test01
std-test01
std-test01
velocity.log-test02
err.log-test03
invalid-arg-test03
我想用cut命令,但没有得到所需的输出。
find /Users/myname -type f | cut -d'/' -f6,4
加上,我还需要将文件移动到不同的目录。我想一个合适的方式可以在那里使用sed命令,但我不熟练sed。如何以有效的方式实现这一点?
我真的不明白要求“..通过追加..将这些文件移动到不同的目录。”。你如何通过追加来移动?或者你的意思是说你想重命名这些文件(在文件名末尾附加-test),然后将它们移动到一个新的目录中? – mattias
你在你的例子中明白'/ Users/myname/test01/logs1/std'是否被'/ Users/myname/test01/logs2/std'覆盖了'std-test01'? –