","로 구분된 텍스트 줄을 한 줄에 하나의 문자열이 포함된 파일로 분할하는 방법은 무엇입니까?

","로 구분된 텍스트 줄을 한 줄에 하나의 문자열이 포함된 파일로 분할하는 방법은 무엇입니까?

형식화된 문자열이 포함된 파일이 있고 A,B,C,D...다음과 같은 표준 Linux 유틸리티를 사용하여 파일에 저장하고 싶습니다.

A
B
C
D 
...

원본 파일의 콘텐츠는 동적이며 0, 1, 2개 이상의 문자열을 포함할 수 있습니다. 어떻게 해야 하나요?

답변1

tr모든 쉼표를 개행 문자로 변경 하려면 다음 을 수행하세요.

$ cat input.txt 
a,b,c
d,e
f
$ tr , '\n' < input.txt 
a
b
c
d
e
f

답변2

이를 사용하여 grep쉼표가 아닌 문자로 구성된 연속 문자열을 찾을 수 있습니다. 새 줄은 "무료"입니다.

grep -Eo "[^,]+" input.txt

답변3

cat > file
a,b,c
d,e
f
perl -pe "s/,/\n/g" file
a
b
c
d
e
f

답변4

Raku(이전 Perl_6) 사용

raku -pe 's:g/\,/\n/;'

또는 (아마도 더 읽기 쉬울 것입니다):

raku -pe 's:g[\,] = qq[\n];'

입력 예:

a,b,c
d,e
f

예제 출력:

a
b
c
d
e
f

참고: 첫 번째 s///또는 두 번째 s[…]=[…]형식을 사용하여 입력 텍스트를 인용/이스케이프하는 데 문제가 있는 경우 /또는 []구분 기호/구분 기호 쌍을 다른 문자/문자로 변경할 수 있습니다(예: 대체 사용).s{…}={…}

https://raku.org

관련 정보