두 개의 열과 다음 정보가 포함된 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"를 제거해야 합니다.