我有一个包含两列和以下信息的 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”。