ksh에서 문자열 나누기


4

ksh에서 문자열을 나누는 빠르고 쉬운 방법을 찾고 있습니다.

각 항목간에 다양한 수의 구분 기호 (공백)가 있습니다.

예:

value1 value2                  value3

어떤 제안 / 조언?

답변:


5

입력 문자열과 함께 for 루프를 사용하면 공백으로 분할됩니다.

LIST="value1  value2 value3"
for x in $LIST ; do
    echo $x
done

수확량

value1
value2
value3

또는

LIST="value1  value2 value3"
set -A STRING "$LIST"
for x in $STRING ; do
    echo $x
done

수확량

value1
value2
value3

빠르고 쉽고 통증이 없습니다. 확실한 대답에 감사드립니다.
user9398


0

sed 및 선택적으로 grep을 통한 파이프 작동

LIST="value1  value2 value3" ;
echo "$LIST" | sed 's/[[:space:]]/\n/g' | grep .

다른 서식이 적용될 수 있지만 여러 공백을 제거하는 따옴표를 삭제하면 grep을 삭제할 수 있습니다.

LIST="value1  value2 value3" ;
echo $LIST | sed 's/[[:space:]]/\n/g'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.