GNU/Linux 배포판에는 텍스트 처리를 위한 풍부한 프로그램이 포함되어 있으며 대부분은 GNU 핵심 유틸리티에서 제공합니다. 약간의 학습 곡선이 있지만 이러한 유틸리티는 올바르게 사용하면 매우 유용하고 효율적입니다.
다음은 모든 명령줄 사용자가 알아야 할 13가지 강력한 텍스트 조작 도구입니다.
1. 고양이
고양이는 고양이를 사기 위해 설계되었습니다. enate 파일이지만 단일 파일을 표시하는 데 가장 자주 사용됩니다. 인수가 없으면 cat은 Ctrl까지 표준 입력을 읽습니다. + D (터미널에서 또는 파이프를 사용하는 경우 다른 프로그램 출력에서) 눌립니다. 표준 입력은 -
로 명시적으로 지정할 수도 있습니다. .
고양이에는 다음과 같은 유용한 옵션이 많이 있습니다.
-A
각 줄 끝에 "$"를 인쇄하고 캐럿 표기법을 사용하여 인쇄할 수 없는 문자를 표시합니다.-n
모든 줄에 번호를 매깁니다.-b
공백이 아닌 숫자 줄.-s
일련의 빈 줄을 하나의 빈 줄로 줄입니다.
다음 예에서는 file1, 표준 입력 및 file3의 내용을 연결하고 번호를 지정합니다.
cat -n file1 - file3
2. 정렬
이름에서 알 수 있듯이 sort
파일 내용을 알파벳순 및 숫자순으로 정렬합니다.
3. 고유
Uniq는 정렬된 파일을 가져와서 중복 행을 제거합니다. 종종 sort
와 연결됩니다. 단일 명령으로.
4. 통신
Comm은 두 개의 정렬된 파일을 한 줄씩 비교하는 데 사용됩니다. 3개의 열을 출력합니다. 처음 두 개의 열에는 각각 첫 번째 및 두 번째 파일에 고유한 행이 포함되고 세 번째 열에는 두 파일 모두에서 찾은 행이 표시됩니다.
5. 컷
잘라내기는 문자, 필드 또는 바이트를 기반으로 행의 특정 섹션을 검색하는 데 사용됩니다. 파일이나 파일이 지정되지 않은 경우 표준 입력에서 읽을 수 있습니다.
문자 위치별 자르기
-c
옵션은 단일 문자 위치 또는 하나 이상의 문자 범위를 지정합니다.
예:
-c 3
:세 번째 문자.-c 3-5
:3번째에서 5번째 문자까지.-c -5
또는-c 1-5
:첫 번째부터 다섯 번째 문자까지.-c 5-
:5번째 문자부터 줄 끝까지.-c 3,5-7
:3번째 및 5번째에서 7번째 문자까지.
분야별 자르기
필드는 -d
로 지정되는 단일 문자로 구성된 구분 기호로 구분됩니다. 옵션. -f
옵션은 위와 동일한 형식을 사용하여 필드 위치 또는 하나 이상의 필드 범위를 선택합니다.
6. 도스2유닉스
GNU/Linux 및 Unix는 일반적으로 줄 바꿈(LF)으로 텍스트 줄을 종료하는 반면 Windows는 캐리지 리턴 및 줄 바꿈(CRLF)을 사용합니다. Linux에서 CRLF 텍스트를 처리할 때 호환성 문제가 발생할 수 있으며, 여기에서 dos2unix가 사용됩니다. CRLF 종결자를 LF로 변환합니다.
다음 예에서 file
명령은 dos2unix
사용 전후의 텍스트 형식을 확인하는 데 사용됩니다. .
7. 접기
긴 텍스트 줄을 더 쉽게 읽고 처리할 수 있도록 fold
를 사용할 수 있습니다. , 줄을 지정된 너비로 줄바꿈합니다.
접기는 기본적으로 지정된 너비와 정확히 일치하며 필요한 경우 단어를 끊습니다.
fold -w 30 longline.txt
단어를 깨는 것이 바람직하지 않은 경우 -s
를 사용할 수 있습니다. 공백에서 나누기 옵션.
fold -w 30 -s longline.txt
8. 아이콘
이 도구는 텍스트를 한 인코딩에서 다른 인코딩으로 변환하므로 비정상적인 인코딩을 처리할 때 매우 유용합니다.
iconv -f input_encoding -t output_encoding -o output_file input_file
- "input_encoding"은 변환 중인 인코딩입니다.
- "output_encoding"은 변환하려는 인코딩입니다.
- "output_file"은 iconv가 저장할 파일 이름입니다.
- "input_file"은 iconv가 읽을 파일 이름입니다.
참고: iconv -l
을 사용하여 사용 가능한 인코딩을 나열할 수 있습니다.
9. 세드
sed는 강력하고 유연한 교육 itor, 다음 구문으로 문자열을 찾고 바꾸는 데 가장 일반적으로 사용됩니다.
다음 명령은 지정된 파일(또는 표준 입력)에서 읽고 정규 표현식 패턴과 일치하는 텍스트 부분을 대체 문자열로 바꾸고 결과를 터미널에 출력합니다.
sed s/pattern/replacement/g filename
대신 원본 파일을 수정하려면 -i
를 사용할 수 있습니다. 플래그.
10. 화장실
wc
유틸리티는 파일의 바이트, 문자, 단어 또는 줄 수를 인쇄합니다.
11. 분할
split
를 사용할 수 있습니다. 파일을 더 작은 파일, 줄 수, 크기 또는 특정 파일 수로 나눕니다.
줄 수로 분할
split -l num_lines input_file output_prefix
바이트로 분할
split -b bytes input_file output_prefix
특정 수의 파일로 분할
split -n num_files input_file output_prefix
12. 전술
역순으로 표시된 Tac는 정확히 그 일을 수행합니다. 즉, 파일을 역순으로 표시합니다.
13. 트
tr 도구는 문자 세트를 번역하거나 삭제하는 데 사용됩니다.
문자 집합은 일반적으로 문자열 또는 문자 범위입니다. 예:
- "A-Z":모두 대문자
- "a-z0-9":소문자 및 숫자
- "\n[:punct:]":개행 및 구두점 문자
자세한 내용은 tr 매뉴얼 페이지를 참조하십시오.
한 세트를 다른 세트로 번역하려면 다음 구문을 사용하십시오.
tr SET1 SET2
예를 들어 소문자를 대문자로 바꾸려면 다음을 사용할 수 있습니다.
tr "a-z" "A-Z"
문자 집합을 삭제하려면 -d
를 사용하세요. 플래그.
tr -d SET
문자 집합의 보수(즉, 집합을 제외한 모든 것)를 삭제하려면 -dc
를 사용하십시오. .
tr -dc SET
결론
Linux 명령줄에 관해서는 배울 것이 많습니다. 위의 명령이 명령줄에서 텍스트를 더 잘 처리하는 데 도움이 되기를 바랍니다.