반응형
문자열 변수의 N 번째 단어
Bash에서는 문자열의 N 번째 단어를 변수로 가져오고 싶습니다.
예를 들면 :
STRING="one two three four"
N=3
결과:
"three"
이 작업을 수행 할 수있는 Bash 명령 / 스크립트는 무엇입니까?
echo $STRING | cut -d " " -f $N
대안
N=3
STRING="one two three four"
arr=($STRING)
echo ${arr[N-1]}
사용 awk
echo $STRING | awk -v N=$N '{print $N}'
테스트
% N=3
% STRING="one two three four"
% echo $STRING | awk -v N=$N '{print $N}'
three
일부 명령문이 포함 된 파일 :
cat test.txt
결과 :
This is the 1st Statement
This is the 2nd Statement
This is the 3rd Statement
This is the 4th Statement
This is the 5th Statement
따라서이 명령문 유형의 네 번째 단어를 인쇄하려면 다음을 수행하십시오.
cat test.txt |awk '{print $4}'
출력 :
1st
2nd
3rd
4th
5th
값 비싼 포크, 파이프, 바 시즘 없음 :
$ set -- $STRING
$ eval echo \${$N}
three
그러나 글 로빙을 조심하십시오.
STRING=(one two three four)
echo "${STRING[n]}"
참고 URL : https://stackoverflow.com/questions/3005627/nth-word-in-a-string-variable
반응형
'IT TIP' 카테고리의 다른 글
Android AppCompat 21 Elevation (0) | 2020.10.20 |
---|---|
Angular 2 사이트에서 브라우저 캐시를 방지하는 방법은 무엇입니까? (0) | 2020.10.20 |
iPhone 중지 performSelector 취소 방법 (0) | 2020.10.20 |
Objective-C 문서 생성기 : HeaderDoc 대 Doxygen 대 AppleDoc (0) | 2020.10.20 |
사전을 사용하여 matplotlib를 사용하여 막대 플로팅 (0) | 2020.10.20 |