본문 바로가기

밥줄/OS

[Linux/Shell] 문자열 split

#간단한 방법
echo "AAA,BBB,CCC" | awk -F ',' '{print $1,$2,$3}'

#응용
grep $LOG_KEY $LOG_FILE_NAME | awk 'BEGIN{FS="|"} {printf "%s \n%s \n%s \n", $4, $5, $17}'

쉘 스크립트를 배운지 이틀째 .... 오늘도 뻘짓한 내용을 잊지 않기 위해.....

#!/bin/bash

echo -n "문자열 입력(,구분) : "
read input

OUTPUT = $(echo $input | tr "," "\n")

for out in $OUTPUT
do
	echo $out
done

결과  ...... Line 6 OUTPUT : command not found

문제는 OUTPUT의 할당에서 공백이 있었기 때문...

OUTPUT=$(echo $input | tr "," "\n")

위처럼 다시 수정하였고 실행하였더니 정상적으로 결과값이 나왔다~

또 다른 split 방법

#간단한 방법
echo "AAA,BBB,CCC" | awk -F ',' '{print $1,$2,$3}'

#응용
grep $LOG_KEY $LOG_FILE_NAME | awk 'BEGIN{FS="|"} {printf "%s \n%s \n%s \n", $4, $5, $17}'

참고
http://torbjorn.tistory.com/2
http://ra2kstar.tistory.com/153

'밥줄 > OS' 카테고리의 다른 글

[Linux/Shell] cpu, memory 기록  (0) 2021.04.16
[Linux/Shell] HTTP REST API(cURL) 보내기(응용)  (0) 2021.04.16