我试过但我失败了,我的文件就像:
06faefb38081b44e35b4ee846bfb84b61694a5c4.zip D:/code/3635/
0a386c77a3ae35033006efec07bfc37f5236212c.zip D:/code/3622/
0b425b29c3e51f29b9af03db46df0aa8f726705b.zip D:/code/3624/
0ecb477c82ec540c8eb0642da144a400bbf3f7c0.zip D:/code/3624/
...
我的目标是将第一列中的文件移动到第二列中的位置。我尝试了while + awk,但这没用。我将不胜感激任何帮助!
答案 0 :(得分:3)
awk '{ system("mv "$1" "$2) }' filename
使用awk,您可以使用系统函数来构建移动命令并执行它。显然,请确保您在包含文件的目录中运行该命令。
答案 1 :(得分:1)
假设您的文件名为“data.txt”,因此您的代码可能如下所示:
while read line; do mv $line; done < data.txt
答案 2 :(得分:0)
您需要的是在每行的开头添加mv (space)
。所以你有100多种方法可以做到这一点。如果你喜欢awk:
awk '$1="mv "$1' file
将创建mv
命令,执行它们,您可以:
awk '$1="mv "$1' file |sh
我比system()
函数调用更喜欢这个。