linux - 从文件中提取路径然后将文件复制到另一个路径并将它们重命名为 bash 脚本

标签 linux bash

<分区>

我有一个来自大型数据库的 .csv 文件。其中一列是文件所在的路径。我想要做的是使用 awk 过滤路径列,然后将每个文件复制到不同的位置。有什么想法吗?

示例:

223,/var/aweh1.txt,2019-02-04
435,/var/dfrew.txt,2019-03-01
461,/var/gcjeu.txt,2019-03-04

应该过滤第二列,然后逐行处理。

最佳答案

您可以使用 awk -F , 以逗号分隔 file.txt 中的每一行,然后取第二个字段。遍历这些文件名并将每个文件名复制到新位置。

for oldPath in $(awk -F , '{print $2}' file.txt); do
    newPath=$(some command to generate new path)
    cp $oldPath $newPath
done

关于linux - 从文件中提取路径然后将文件复制到另一个路径并将它们重命名为 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58101501/

相关文章:

linux - 在 Linux 上更改站点代码 SCCM 代理

linux - 如何运行 dockerfile?

linux - dumpe2fs 只显示一行信息

python - 在 Vagrant 中运行 Python 脚本

c# - Mono:如何在新的控制台/终端窗口上运行 bash 命令?

c++ - 对V4L2的一个误解

linux - uuencode 无法正常使用我的以下命令附加文件

c++文件不会用某个#include编译,而所有其他的都可以

bash - 使用 Sed 插入带有制表符分隔符的文本行

bash - awk 和 sed 拆分文件