Bash는 문자열에서 마지막 x 문자를 제거합니다.

Bash Remove Last X Characters From String



때때로 문자열에서 문자를 삭제해야 할 수도 있습니다. 어떤 경우일지 모르지만 Linux에는 Bash에서 이러한 텍스트 형식의 문자를 제거하는 데 유용한 몇 가지 내장 도구가 포함되어 있습니다. 이 문서에서는 이러한 방법을 사용하여 문자열에서 문자를 삭제하는 방법을 보여줍니다. 이 게시물에서 지침은 Ubuntu 20.04 Focal Fossa에서 실행되었습니다. 위에서 언급한 유틸리티가 설치된 모든 Linux 시스템에서 동일한 지침을 실행할 수 있습니다. 지침을 실행하기 위해 일반적인 터미널을 사용합니다. Ctrl+Alt+T 단축키는 터미널 도구를 엽니다.

방법 01: 부분 문자열 방식

문자열에서 문자나 문자를 제거하는 첫 번째 방법은 원래 문자열에서 부분 문자열을 만드는 것과 비슷합니다. 한편, 터미널은 이미 열렸습니다. 우리는 bash 코드를 추가하기 위해 bash 파일을 만들 것입니다. 문자 제거 또는 부분 문자열 만들기를 수행할 수 있습니다. 따라서 쉘에 내장된 터치 명령을 사용하여 bash 파일을 만들었습니다.









파일은 Ubuntu 20.04의 홈 폴더에 빠르게 생성되었으므로 일부 편집기에서 열어서 편집하십시오. 그래서 GNU 편집기를 선택하여 아래와 같이 file.sh 문서를 엽니다.







그 안에 아래 표시된 코드를 복사하십시오. 이 코드는 시작 부분에 bash 확장을 포함하고 그 이후에는 문자열 값으로 문자열 변수 val을 선언했습니다. 다른 줄에서 에코 문구를 사용하여 터미널에 이 변수를 표시합니다. 진짜 임무는 여기에서 시작됩니다. 변수 new를 초기화하고 원래 변수 val의 하위 문자열인 값을 할당했습니다. 이중 콜론 뒤 중괄호에서 -14를 언급함으로써 이를 수행했습니다. 이것은 컴파일러에게 원래 문자열 FirstWorldCountries에서 마지막 14자를 제거해야 한다고 알려줍니다. 나머지 문자는 new 변수에 저장됩니다. 마지막 줄에서 echo는 새 변수 new를 인쇄하는 데 사용되었습니다.



bash 명령을 사용하여 file.sh 파일을 올바르게 실행하면 예상대로 나옵니다. 먼저 첫 번째 문자열 변수 val의 값을 표시한 다음 표시된 출력에 따라 첫 번째 변수에서 새로 생성된 문자열의 값을 표시합니다.

방법 02: 특수 기호 사용

문자열에서 마지막 문자 또는 문자를 제거하는 또 다른 간단하고 쉬운 방법은 백분율 및 물음표 기호와 같은 특수 기호 또는 문자를 사용하는 것입니다. 따라서 이번에는 백분율과 물음표를 사용하여 문자열에서 문자를 제거합니다. 따라서 GNU Nano 편집기를 사용하여 bash 스크립트를 업데이트하기 위해 이미 동일한 파일을 열었습니다. 전체 코드는 동일하지만 변수 new 부분이 약간 다릅니다. 언급된 물음표 수가 이 백분율 기호 다음에 제거될 변수 val의 문자 수를 나타냄을 시스템에 알리기 위해 백분율 기호를 사용했습니다. 9개의 물음표 기호가 추가된 것을 볼 수 있습니다. 즉, FirstWorldCountries 문자열에서 마지막 9자가 제거되고 나머지 문자열은 FirstWorld가 됩니다. 이 나머지 문자열은 new 변수에 저장됩니다.

업데이트된 bash 파일을 실행하면 예상대로 출력됩니다. 첫 번째 변수의 원래 문자열과 변수 val에서 새로 생성된 두 번째 변수의 값을 보여줍니다.

방법 03: Sed 사용

Sed는 텍스트 시퀀스를 변경하는 데 유용하고 효과적인 도구입니다. 이는 데이터 입력으로 작업하고 간단한 텍스트 변환을 수행할 수 있는 비대화형 개발 환경입니다. sed를 사용하여 원하지 않는 텍스트에서 문자를 삭제할 수도 있습니다. 예제 문자열을 사용하여 설명을 위해 sed 명령으로 라우팅합니다. sed를 사용하여 일종의 문자열에서 특정 문자를 삭제할 수 있습니다. 따라서 echo 문 내에서 문자열의 간단한 줄을 사용했습니다. 언급된 문자열에서 문자 A를 제거하기 위해 sed를 사용했습니다. 's/string_to_be_removed//' 구문을 따라야 합니다. 출력은 문자 A가 제거되었음을 보여줍니다.

전체 단어 Aqsa를 제거하기 위해 누락된 문자를 나타내기 위해 내부에 점이 있는 단어의 첫 번째 및 마지막 문자를 언급했습니다. 출력은 Aqsa라는 단어가 제거된 문자열을 보여줍니다.

문자열에서 마지막 문자 수를 제거하려면 표시된 대로 달러 기호 앞에 요구 사항에 따라 점 수를 언급하십시오.

방법 04: Awk 사용

Awk는 패턴을 일치시키고 텍스트를 처리하는 데 사용할 수 있는 정교한 스크립팅 언어입니다. Awk를 사용하여 다양한 방식으로 입력을 이동하고 수정할 수 있습니다. awk를 사용하여 문자열에서 문자를 삭제할 수도 있습니다. awk는 sed와 조금 다른 것 같습니다. 이번에는 Aqsa Yasin으로 스트링을 바꿨습니다. awk 함수는 substr 메서드를 통해 부분 문자열을 만들고 터미널에 인쇄합니다. 함수 길이는 언급된 문자열에서 제거된 문자 수를 나타내는 데 사용되었습니다. 여기서 length($0)-5 는 문자열의 마지막 5자를 제거하는 것을 의미하며, 나머지는 출력할 부분 문자열의 일부가 됩니다.

Aqsa Yasin 문자열에서 마지막 9자를 제거하려고 시도했으며 출력 하위 문자열로 A를 얻었습니다.

방법 05: 잘라내기 사용

Cut은 이러한 구문이나 문서에서 텍스트를 추출하여 표준 출력으로 인쇄하기 위한 명령줄 유틸리티인 것 같습니다. 이 작업은 어떤 종류의 문자열에서 문자를 제거하는 데에도 사용할 수 있습니다. 예제 구문을 사용하여 테스트 목적으로 cut 명령어에 전달할 것입니다. 그래서 우리는 Aqsa Yasin 구문을 사용하고 이를 컷 쿼리에 전달했습니다. 플래그 –c 다음에 언급된 문자열에서 문자를 자르기 위해 문자열에 대한 인덱스 범위를 정의했습니다. 인덱스 1부터 인덱스 5까지의 문자가 표시됩니다. 인덱스 5는 여기에서 제외되었습니다. 출력은 처음 4자를 Aqsa로 표시합니다.

이번에는 cut 명령어를 다르게 사용하겠습니다. rev 함수를 사용하여 문자열을 뒤집었습니다. 문자열의 역순 이후에 문자열에서 첫 번째 문자를 잘라냅니다. 플래그 -c2-는 하위 문자열이 앞으로 문자 2가 될 것임을 의미합니다. 그런 다음 reverse 함수를 다시 사용하여 문자열을 되돌립니다. 그래서 이번에는 마지막 문자를 제거하여 원래 문자열을 되찾았습니다.

마지막 7자를 제거하려면 반전 기능을 사용하면서 cut 명령에서 -c7-을 언급하기만 하면 됩니다.

결론:

Linux에서 기본 작업을 수행하는 방법에는 여러 가지가 있습니다. 마찬가지로 텍스트에서 문자를 삭제할 수도 있습니다. 이 기사에서는 문자열에서 원하지 않는 문자를 제거하는 5가지 고유한 방법과 일부 인스턴스를 설명했습니다. 어떤 도구를 선택하든 전적으로 선택에 따라 달라지며 더 중요하게는 달성하고자 하는 것입니다.