获取 CSV 数据以移动文件

获取 CSV 数据以移动文件

我有一个包含两列和以下信息的 CSV 文件:

Column1 | Column2
USA     | Chicago
USA     | Dallas
FR      | France
AUS     | Sydney
AUS     | Perth

我必须将所有文件移动到Column1 equals位置AUS。例如,

mv Sydney* /usr/local/sbin
mv Perth* /usr/local/sbin

是否可以使用 shell 脚本来完成此操作而无需硬编码?

答案1

尝试这个:

#! /bin/sh

awk '
BEGIN {
    FS="|"
}
/\s*AUS\s*/ {
    region = $2
    gsub(/\s+/, "", region)
    system( sprintf("echo mv '%s' /usr/sbin",  + region))
}

{}
' inputfile.csv

您需要更改文件名并从系统命令中删除“echo”。

相关内容