2つの列と次の情報を含むCSVファイルがあります。
Column1 | Column2
USA | Chicago
USA | Dallas
FR | France
AUS | Sydney
AUS | Perth
Column1
すべてのファイルを同じ場所に移動する必要がありますAUS
。例えば、
mv Sydney* /usr/local/sbin
mv Perth* /usr/local/sbin
ハードコーディングなしでシェルスクリプトを使用してこれを実行できますか?
答え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」を削除する必要があります。