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/filesUS/UA06495_256.png 368153 |/nfs/filesUS/UA06495_64.png 我想以这样的新目录中的文件结束 368126Unix根据文件中的第一个值创建目录,然后将文件从同一文件中列出的完整路径复制到目录,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
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文件并将该行放入脚本中,则可以将该文件作为命令行参数传递。这是非常基本的,应该已经知道了。