형식화된 문자열이 포함된 파일이 있고 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{…}={…}