2013-10-27 4 views
1

나는 다음과 같은 정보를 포함하는 텍스트 파일 - "info.txt"를 읽어하려고읽기 텍스트 파일 - bash는

info.txt

1,john,23 
2,mary,21 

제가하고 싶은 것은 각을 저장하는 것입니다 열을 변수에 넣고 열 중 하나를 출력합니다.

나는 이것이 너희들에게 단순 해 보일지 모르지만 나는 bash 스크립트를 작성하는 것에 익숙하지 않다, 나는 단지 파일을 읽는 방법을 알고 있지만, 멀리 떨어져 있고 도움이 필요한 방법을 모른다. 감사.

while read -r columnOne columnTwo columnThree 
do 
echo $columnOne 
done < "info.txt" 

출력

1, 
2, 

당신은 레코드 분리 설정해야

1 
2 

답변

4

예상 출력 :

while IFS=, read -r columnOne columnTwo columnThree 
do 
echo "$columnOne" 
done < info.txt 
+0

도움을 주셔서 대단히 감사합니다. – user3429531

0

는 파일이 너무 존재 여부를 확인하는 것이 좋다합니다.

#!/bin/bash 
INPUT=./info.txt 
OLDIFS=$IFS 
IFS=, 
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; } 
while read -r columnOne columnTwo columnThree 
do 
    echo "columnOne : $columnOne" 
    echo "columnTwo : $columnTwo" 
    echo "columnThree : $columnThree" 
done < $INPUT 
IFS=$OLDIFS