awk 변수 shell 변수에 저장
OS/리눅스 & 유닉스 2012. 3. 20. 13:47Sample File: position_list // sep=<TAB>
1. 파일 읽기
position_list파일에서 한 라인씩 데이터를 읽고 화면에 출력
while read line
do
echo $line
done < position_list
출력
2. 파일에서 읽은 데이터를 특정 구분자에 의해 분할
$line변수에 저장 된 데이터에서 첫 번째 컬럼 정보를 가져온다. (awk를 설명하려면 내용이 많기 때문에 생략)
awk '{print $1}'은 첫 번째 컬럼만 출력 한다는 의미로 알고 넘어가면 될 것 같다. 많은 옵션들이 있지만 .. 파일의 데이터 구분자가 <TAB>으로 되어 있으면 저렇게만 써도 정상적으로 동작한다.
while read line
do
echo $line | awk '{print $1}'
done < position_list
출력
3. 2번에서 분할 된 문자를 변수에 저장해서 사용
아래 코드가 위에 꺼에 비해 조금 길어 보일 수도 있지만 .. 같은 문장이 계속 반복 되는 것을 알 수 있다.(변수명과 컬럼 번호만 다르다..)
위에서 분할 한 문자를 각 변수에 저장해 출력하는 것을 볼 수 있다...
while read line
do
index=$(echo $line | awk '{print $1}')
chr=$(echo $line | awk '{print $2}')
start_position=$(echo $line | awk '{print $3}')
end_position=$(echo $line | awk '{print $4}')
echo index:$index
echo chr:$chr
echo start-end:$start_position-$end_position
echo
done <position_list
출력
'OS > 리눅스 & 유닉스' 카테고리의 다른 글
pthread_detach (0) | 2012.03.24 |
---|---|
nohup (0) | 2012.03.22 |
awk (0) | 2012.03.20 |
Four Ways to Pass Shell Variables in AWK (0) | 2012.03.20 |
shell file read line (0) | 2012.03.20 |