Bash 스크립트에서 사용자 입력을 다듬는 방법은 무엇입니까?

RNA

예, 다음은 주어진 사용자 입력입니다.

$ myscript.sh file-name.txt

bash 스크립트에서 '파일'을 검색하기 위해 "file-name.txt"를 트리밍하고 싶습니다.

#!/bin/bash
FILENAME=$1

# trim text after '-' from user input 'file-name.txt'
# save 'file' back to $1

내 추측으로는 sed와 정규 표현식을 어떻게 든 혼합하는 것이지만 나는 전문가가 아닙니다.

어떤 아이디어?


더 복잡한 입력을 위해 muru의 제안을 시도했습니다.

주어진 입력 : ABCD-0.1.5-6.1.txt

원하는 출력 : ABCD

#!/bin/bash
TRIMMED1="${1%-*}"
TRIMMED2="${1%%-*}"
TRIMMED3="${TRIMMED1%-*}"
TRIMMED4="${TRIMMED1%%-*}"
TRIMMED5="${1%-[0-9]*}"
TRIMMED6="${1%%-[0-9]*}"
echo "user input : $1"
echo "TRIMMED1 : $TRIMMED1"
echo "TRIMMED2 : $TRIMMED2"
echo "TRIMMED3 : $TRIMMED3"
echo "TRIMMED4 : $TRIMMED4"
echo "TRIMMED5 : $TRIMMED5"
echo "TRIMMED6 : $TRIMMED6"

결과:

user input : A-B-C-D-0.1.5-6.1.txt
TRIMMED1 : A-B-C-D-0.1.5
TRIMMED2 : A
TRIMMED3 : A-B-C-D
TRIMMED4 : A
TRIMMED5 : A-B-C-D-0.1.5
TRIMMED6 : A-B-C-D
무루

이를 위해 외부 도구를 사용할 필요가 없습니다. 순수 bash :

FILENAME="${1%-*}"

%일치하는 가장 짧은 접미사를 제거하는 데 사용됩니다. 당신이 가지고 있다면 file-name-foo, 당신은 얻을 것이다 file-name. 일치하는 가장 긴 접미사를 제거하려면 %%.

에 저장하려면 $1을 사용해야 set합니다. 다음과 같은 것 :

set -- "${1%-*}" "${@:2}"

그런 다음 다음에를 사용할 때 $1텍스트가 잘립니다.

=변수를 할당 할 때 주변에 공백이 없어야합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

배열에 문자열을 삽입하는 방법은 무엇입니까? BASH 스크립트 사용

분류에서Dev

명령 줄을 사용하여 Terminator에서 bash 스크립트를 여는 방법은 무엇입니까?

분류에서Dev

바가 다른 스크립트에서 초기화되었을 때 Bash 스크립트에서 kdialog progressbar를 사용하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 출력 접두사를 지정하는 방법은 무엇입니까?

분류에서Dev

동적 입력 매개 변수를 사용하여 BASH에서 StdIn의 스크립트로 파이썬을 호출하는 방법은 무엇입니까?

분류에서Dev

사용자 입력을 사용하여 bash에서 변수를 선택하는 방법은 무엇입니까?

분류에서Dev

사용자 입력에 따라 bash 파일을 다르게 에코하는 방법은 무엇입니까?

분류에서Dev

사용자 입력에 따라 bash 파일을 다르게 에코하는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트에서 여러 줄 입력을 읽는 방법은 무엇입니까?

분류에서Dev

PHP에서 bash 스크립트를 사용하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 getopts를 사용하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 문자열을 배열로 변환하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서이 하위 문자열을 얻는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트에서 이스케이프 문자를 무시하는 방법은 무엇입니까?

분류에서Dev

bash에서 stdin으로 스크립트를 실행할 때 자동으로 값을 입력하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 cp 명령을 사용하여 공백 및 $ 문자가있는 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 cp 명령을 사용하여 공백 및 $ 문자가있는 파일을 복사하는 방법은 무엇입니까?

분류에서Dev

SQL-Statement에서 사용하기 위해 bash 스크립트에서 문자열을 연결하는 방법은 무엇입니까?

분류에서Dev

SQL-Statement에서 사용하기 위해 bash 스크립트에서 문자열을 연결하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트 내에서 vim을 여는 방법은 무엇입니까?

분류에서Dev

Bash 스크립트에서 GitHub 작업에 대한 출력을 생성하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트를 sudo로 실행 한 사용자의 이름을 얻는 방법은 무엇입니까?

분류에서Dev

bash 스크립트를 사용하여 Linux에서 루트로 로그인 한 사용자를 찾는 방법은 무엇입니까?

분류에서Dev

IBM jacl 스크립팅에서 사용자로부터 입력을받는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 컬러 출력을 얻는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 컬러 출력을 얻는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 "ssh -O check"의 출력을 이해하는 방법은 무엇입니까?

분류에서Dev

getopts에서 bash 스크립트로 파이프 된 stdout을 출력하는 방법은 무엇입니까?

분류에서Dev

bash 스크립트에서 lynx를 실행할 때 명령을 출력하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    배열에 문자열을 삽입하는 방법은 무엇입니까? BASH 스크립트 사용

  2. 2

    명령 줄을 사용하여 Terminator에서 bash 스크립트를 여는 방법은 무엇입니까?

  3. 3

    바가 다른 스크립트에서 초기화되었을 때 Bash 스크립트에서 kdialog progressbar를 사용하는 방법은 무엇입니까?

  4. 4

    bash 스크립트에서 출력 접두사를 지정하는 방법은 무엇입니까?

  5. 5

    동적 입력 매개 변수를 사용하여 BASH에서 StdIn의 스크립트로 파이썬을 호출하는 방법은 무엇입니까?

  6. 6

    사용자 입력을 사용하여 bash에서 변수를 선택하는 방법은 무엇입니까?

  7. 7

    사용자 입력에 따라 bash 파일을 다르게 에코하는 방법은 무엇입니까?

  8. 8

    사용자 입력에 따라 bash 파일을 다르게 에코하는 방법은 무엇입니까?

  9. 9

    Bash 스크립트에서 여러 줄 입력을 읽는 방법은 무엇입니까?

  10. 10

    PHP에서 bash 스크립트를 사용하는 방법은 무엇입니까?

  11. 11

    bash 스크립트에서 getopts를 사용하는 방법은 무엇입니까?

  12. 12

    bash 스크립트에서 문자열을 배열로 변환하는 방법은 무엇입니까?

  13. 13

    bash 스크립트에서이 하위 문자열을 얻는 방법은 무엇입니까?

  14. 14

    Bash 스크립트에서 이스케이프 문자를 무시하는 방법은 무엇입니까?

  15. 15

    bash에서 stdin으로 스크립트를 실행할 때 자동으로 값을 입력하는 방법은 무엇입니까?

  16. 16

    bash 스크립트에서 cp 명령을 사용하여 공백 및 $ 문자가있는 파일을 복사하는 방법은 무엇입니까?

  17. 17

    bash 스크립트에서 cp 명령을 사용하여 공백 및 $ 문자가있는 파일을 복사하는 방법은 무엇입니까?

  18. 18

    SQL-Statement에서 사용하기 위해 bash 스크립트에서 문자열을 연결하는 방법은 무엇입니까?

  19. 19

    SQL-Statement에서 사용하기 위해 bash 스크립트에서 문자열을 연결하는 방법은 무엇입니까?

  20. 20

    bash 스크립트 내에서 vim을 여는 방법은 무엇입니까?

  21. 21

    Bash 스크립트에서 GitHub 작업에 대한 출력을 생성하는 방법은 무엇입니까?

  22. 22

    bash 스크립트를 sudo로 실행 한 사용자의 이름을 얻는 방법은 무엇입니까?

  23. 23

    bash 스크립트를 사용하여 Linux에서 루트로 로그인 한 사용자를 찾는 방법은 무엇입니까?

  24. 24

    IBM jacl 스크립팅에서 사용자로부터 입력을받는 방법은 무엇입니까?

  25. 25

    bash 스크립트에서 컬러 출력을 얻는 방법은 무엇입니까?

  26. 26

    bash 스크립트에서 컬러 출력을 얻는 방법은 무엇입니까?

  27. 27

    bash 스크립트에서 "ssh -O check"의 출력을 이해하는 방법은 무엇입니까?

  28. 28

    getopts에서 bash 스크립트로 파이프 된 stdout을 출력하는 방법은 무엇입니까?

  29. 29

    bash 스크립트에서 lynx를 실행할 때 명령을 출력하는 방법은 무엇입니까?

뜨겁다태그

보관