Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix根据文件中的第一个值创建目录,然后将文件从同一文件中列出的完整路径复制到目录_Unix - Fatal编程技术网

Unix根据文件中的第一个值创建目录,然后将文件从同一文件中列出的完整路径复制到目录

Unix根据文件中的第一个值创建目录,然后将文件从同一文件中列出的完整路径复制到目录,unix,Unix,我有以下文件,其中在“|”之前包含一个值(如果需要,我可以更改分隔符)。我想创建两个目录368126和368153(这些值可以更改),然后将“|”后面列出的文件从其完整路径位置复制到目录368126和368153。我该怎么做?非常感谢您的帮助 368126 |/nfs/filesEU/UA08039_512.png 368126 |/nfs/filesEU/UA08039_256.png 368153 |/nfs/filesUS/UA06495_512.png 368153 |/nfs/file

我有以下文件,其中在“|”之前包含一个值(如果需要,我可以更改分隔符)。我想创建两个目录368126和368153(这些值可以更改),然后将“|”后面列出的文件从其完整路径位置复制到目录368126和368153。我该怎么做?非常感谢您的帮助

368126 |/nfs/filesEU/UA08039_512.png

368126 |/nfs/filesEU/UA08039_256.png

368153 |/nfs/filesUS/UA06495_512.png

368153 |/nfs/filesUS/UA06495_256.png

368153 |/nfs/filesUS/UA06495_64.png

我想以这样的新目录中的文件结束

368126

UA08039_512.png
UA08039_256.png
368153

UA06495_512.png
UA06495_256.png
UA06495_64.png

您可以使用类似的方法生成要为移动执行的脚本:

awk -F\| '{print "mkdir -p " $1 " ; cp " $2 " " $1}' input_file > script.sh
脚本将按以下方式执行:

sh ./script.sh

效率不高,但希望您能接受。

非常感谢,这就行了!我有几千个图像要复制,不久将进行测试。如果我把这个命令放在一个shell脚本中,我如何使用参数作为输入文件和script.sh的路径(我想把它们放在相同的位置)。我不擅长awk,但我知道如何使用参数,通常像./script.sh“/nfs/files/output”如果用$1替换input\u文件并将该行放入脚本中,则可以将该文件作为命令行参数传递。这是非常基本的,应该已经知道了。