我想使用 awk 和 system()
函数来移动几个目录。
我有一个文件,我想使用 awk
名称 file.cfg
进行处理,该文件按以下方式组织:
/path1 /path2
/some_path /some_other_path
and so on..
每个第一条路径与第二条路径由空格分隔 所以我是这样做的:
awk '{system(mv -R $1" "$2)}' file.cfg
但它不起作用,我明白了
sh: 0/home/my_user/path1: No such file or directory
但是 file.cfg
看起来像这样:
/home/my_user/path1 /home/my_user/path2
并且/home
前没有0。那么我在这里缺少什么?
最佳答案
你必须引用你给system
的命令:
awk '{system("mv -R " $1 " " $2)}' file.cfg
目前 mv -R
被解释为变量 mv 的值减去 R 的值,即 0
因为两者都没有定义。
关于bash - awk 系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15823216/