awk 변수 필드를 여러 필드로 한 번에 설정하려고합니다.한 번에 여러 필드를 awk 변수로 설정
지금은 변수를 하나씩 설정할 수 있습니다.
for line in `cat file.txt`;do
var1=`echo $line | awk -F, '{print $1}'`
var2=`echo $line | awk -F, '{print $2}'`
var3=`echo $line | awk -F, '{print $3}'`
#Some complex code....
done
나는 이것이 리눅스 변수를 여러 번 분석하기 때문에 값 비싼 원인이라고 생각합니다. 한 번에 변수를 설정하는 특별한 구문이 있습니까? awk에 BEGIN과 END 블록이 있지만 BEGIN 및 END 블록을 피하려고하는 이유는 중첩 된 awk를 피하는 것입니다.
일부 복잡한 코드 .... 부분에 다른 루프와 awk 코드를 배치 할 계획입니다.
for line in `cat file.txt`;do
var1=`echo $line | awk -F, '{print $1}'`
var2=`echo $line | awk -F, '{print $2}'`
var3=`echo $line | awk -F, '{print $3}'`
for line2 in `cat file_old.txt`;do
vara=`echo $line2 | awk -F, '{print $1}'`
varb=`echo $line2 | awk -F, '{print $2}'`
# Do comparison of $var1,var2 and $vara,$varb , then do something with either
done
done
비교를 위해 'awk'을 사용하고 '무언가를하는'이유는 무엇입니까? – Bernhard
awk와 비교하여 두 파일을 사용하는 것에 대한 샘플 코드를 제공 할 수 있습니까? file.txt와 file_old.txt의 두 파일은 다른 줄 크기를 가질 수 있습니다. – Nap
죄송합니다. 나는 당신을 서로 비교하고 싶었습니다. 해결하려는 특정 문제와 파일 구조에 따라 다르지만, 나는 더 나은 솔루션이 있다는 강한 인상을 가지고 있습니다. – Bernhard