
리눅스 rev 명령은 텍스트 문자열을 반대로 바꿉니다. 이 명령은 제공된 텍스트 나 파일에서 작동 할 수 있으며 매우 단순 해 보입니다. 그러나 많은 명령 줄 유틸리티와 마찬가지로 다른 명령과 함께 사용하면 실제 기능이 분명해집니다.
그만큼 rev command는 언뜻보기에는 이상한 것으로 보이는 간단한 Linux 유틸리티 중 하나입니다. 단일 기능을 수행합니다. 문자열을 반대로합니다. 빠른 도움말 페이지를 인쇄 할 수있는 것 외에도-h) 버전 번호 (-V) 인 경우 명령 줄 옵션을 허용하지 않습니다.
그래서, rev 줄을 바꾸면 되나요? 변형이나 옵션이 없습니까? 예, 아니오 그렇습니다. 순열은 없지만 거의 아닙니다. 이 튜토리얼에서는 강력한 조작을 위해이를 결합하는 방법을 보여줍니다.
사용할 때 rev 보다 복잡한 명령 시퀀스의 빌딩 블록으로서 실제로 그 가치를 보여주기 시작합니다. rev 명령 그룹 중 하나입니다 tac 과 yes) 촉진자입니다. 다른 명령을보다 효율적으로 사용하는 방법을 살펴보면 유용성을 더 쉽게 이해할 수 있습니다.
rev 명령 사용
다른 매개 변수없이 명령 행에서 사용 rev 입력 된 모든 입력을 가져 와서 뒤집은 다음 터미널 창에 인쇄합니다. Ctrl + C를 눌러 종료 할 때까지이 작업을 계속 수행합니다.
rev

텍스트를 입력하고 Enter 키를 누르면 rev 물론 회문을 제공하지 않는 한 문자열을 반대로 인쇄하십시오.

텍스트를 rev로 전달
당신이 사용할 수있는 echo 텍스트를 파이프 rev.
echo one two three | rev

당신은 또한 사용할 수 있습니다 rev 전체 텍스트 파일의 내용을 한 줄씩 뒤집습니다. 이 예제에는 파일 이름 목록이 포함 된 파일이 있습니다. 파일 이름은 “filelist.txt”입니다.
rev filelist.txt

각 줄은 파일에서 읽은 후 반전되어 터미널 창에 인쇄됩니다.
rev를 다른 명령과 결합
다음은 호출하는 입력 파이프를 사용하는 예입니다. rev 두번.
이 명령은 텍스트 문자열에서 마지막 문자를 제거합니다. 구두점을 제거하는 데 유용 할 수 있습니다. 우리는 cut 문자를 제거하는 명령입니다.
echo 'Remove punctuation.' | rev | cut -c 2- | rev

세분화합시다.
-
echo첫 번째 호출로 문자열을 보냅니다.rev. -
rev끈을 뒤집어 파이프에 넣습니다.cut. - 그만큼
-c(문자) 옵션은 알려줍니다cut문자열에서 일련의 문자를 반환합니다. - 그만큼
2-옵션은 말한다cut문자 2에서 줄 끝까지 문자 범위를 반환합니다. 두 번째 숫자가 제공된 경우 (예 :2-5범위는 문자 2에서 5까지입니다. 두 번째 숫자는 “문자열 끝까지”를 의미하지 않습니다. - 반전 된 문자열 (첫 번째 문자 빼기)은
rev문자열이 반대로되어 원래 순서로 돌아갑니다.
우리는 첫 번째 캐릭터를 다듬었기 때문에 반전 문자열, 우리는 마지막 문자를 잘라 기발한 끈. 예, 당신은 이것을 할 수 있습니다 sed 또는 awk, 그러나 이것은 더 쉬운 구문입니다.
마지막 단어 분리
비슷한 트릭을 사용하여 줄의 마지막 단어를 반환 할 수 있습니다.
이 명령은 마지막 명령과 비슷합니다. rev 두번. 차이점은 cut 명령은 텍스트의 일부를 선택하는 데 사용됩니다.
echo 'Separate the last word' | rev | cut -d' ' -f1 | rev

명령 분석은 다음과 같습니다.
-
echo첫 번째 호출로 문자열을 보냅니다.rev. -
rev끈을 뒤집어 파이프에 넣습니다.cut. - 그만큼
-d' '(구분자) 옵션은 알려줍니다cut공백으로 구분 된 일련의 문자를 반환합니다. - 그만큼
-f1옵션은 말한다cut문자열의 첫 번째 섹션을 반환 포함하지 않는 구분자. 다시 말해, 문장의 첫 부분은 첫 번째 공간까지입니다. - 반전 된 첫 단어는
rev문자열이 반대로되어 원래 순서로 돌아갑니다.
우리는 첫 단어를 추출했기 때문에 반전 문자열, 우리는 마지막 단어를 잘라 기발한 끈. 이 문장의 마지막 단어는“단어”였으며 우리를 위해 인쇄되었습니다.
파일에서 내용 다듬기
파일 이름 목록이 포함 된 파일이 있고 파일 이름이 따옴표로 묶여 있다고 가정하겠습니다. 파일 이름에서 따옴표를 제거하고 싶습니다.
파일을 봅시다 :
less filelist.txt

파일의 내용은 우리를 위해 표시됩니다 less.

다음 명령을 사용하여 각 줄의 양쪽 끝에서 문장 부호를 제거 할 수 있습니다. 이 명령은 rev 과 cut 두번.
rev filelist.txt | cut -c 2- | rev | cut -c 2-

파일 이름은 따옴표없이 표시됩니다.

명령은 다음과 같이 분류됩니다.
-
rev파일의 줄을 반대로 바꾸고cut. - 그만큼
-c(문자) 옵션은 알려줍니다cut각 줄에서 일련의 문자를 반환합니다. - 그만큼
2-옵션은 말한다cut문자 2에서 각 줄의 끝까지 문자 범위를 반환합니다. - 반전 된 문자열에서 첫 문자를 뺀 값은
rev. -
rev문자열을 반대로하여 원래 순서로 돌아갑니다. 그들은 파이프cut두 번째. - 그만큼
-c(문자) 옵션은 알려줍니다cut각 문자열에서 일련의 문자를 반환합니다. - 그만큼
2-옵션은 말한다cut문자 2에서 각 줄의 끝까지 문자 범위를 반환합니다. 이것은 선행 인용 부호를“홉핑”하며, 이는 각 줄의 문자 하나입니다.
많은 배관
다음은 현재 디렉토리에있는 모든 파일 확장자의 정렬 된 목록을 반환하는 명령입니다. 다섯 개의 별개의 Linux 명령을 사용합니다.
ls | rev | cut -d'.' -f1 | rev | sort | uniq

과정은 간단합니다 :
-
ls현재 디렉토리의 파일을 나열합니다. 이들은 안으로 배관됩니다rev. -
rev파일 이름을 반대로 바꾸고cut. -
cut각 파일 이름의 첫 부분을 구분 기호까지 반환합니다. 그만큼-d'.'알려줍니다cut마침표“.” 구분자로. 첫 번째 기간까지 반전 된 파일 이름 부분은 파일 확장자입니다. 이들은 안으로 배관됩니다rev. -
rev파일 확장자를 원래 순서로 되돌립니다. 그들은 안으로 배관됩니다sort. -
sort파일 확장자를 정렬하고 결과를 파이프uniq. -
uniq각 유형의 고유 한 파일 확장자에 대한 단일 목록을 반환합니다. 파일 확장자 (예 : makefile 및 디렉토리 Help 및 gc_help)가 없으면 전체 파일 이름이 나열됩니다.
마무리 작업을하려면 -c (카운트) 명령 행 옵션 uniq 명령.
ls | rev | cut -d'.' -f1 | rev | sort | uniq -c

이제 현재 디렉토리에서 여러 파일 유형별로 정렬 된 목록을 얻습니다.
꽤 멋진 일 라이너입니다!
그리기 및 그리기
때로는 앞으로 가려면 뒤로 가야합니다. 그리고 당신은 보통 팀의 일원으로 가장 빨리 나아갑니다.
더하다 rev 이동 명령의 레퍼토리에 적용 할 수 있으며 곧 복잡한 명령 시퀀스를 단순화하는 데 사용할 수 있습니다.








