반응형
Bash 변수에서 첫 글자를 얻는 방법은 무엇입니까?
$word
때때로 단어 또는 문장 인 Bash 변수 가 있습니다. 예 :
word="tiger"
또는:
word="This is a sentence."
변수에서 찾은 첫 글자와 동일한 새로운 Bash 변수를 어떻게 만들 수 있습니까? 예를 들어, 위는 다음과 같습니다.
echo $firstletter
t
또는:
echo $firstletter
T
initial="$(echo $word | head -c 1)"
문제 설명에서 "처음"이라고 말할 때마다 head
가능한 해결책이 될 수 있습니다.
word="tiger"
firstletter=${word:0:1}
word=something
first=${word::1}
이를위한 이식 가능한 방법은 매개 변수 확장 (POSIX 기능)을 사용하는 것입니다 .
$ word='tiger'
$ echo "${word%"${word#?}"}"
t
sed
여기 에 태그가 있으므로 sed
답이 있습니다.
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
그것을 즐기는 사람들을 위해 플레이 바이 플레이 (I do!) :
{
s
: 대체 루틴 시작/
: 대체 할 항목 지정 시작^\(.\)
: 그룹 1의 첫 번째 캐릭터 캡처.*
:, 나머지 줄이 대체에 있는지 확인하십시오./
: 대체 지정 시작\1
: 그룹 1 삽입/
: 나머지는 버립니다.;
q
:sed
이 블록이있는 경우 다른 행에 대해이 블록을 반복하지 않도록 종료 합니다.
}
재미 있었어요! :)
당신은 또한 사용할 수있는 grep
등하지만 당신이 있다면 마술 (magick) 여전히 IMO 더 나은 솔루션입니다. (나는 POSIX 변수 확장을 사용하려고 한 시간을 보냈지 만 할 수 없었습니다 )bash
${x:0:1}
:(
컷 포함 :
word='tiger'
echo "${word}" | cut -c 1
Bash 4 사용 :
x="test"
read -N 1 var <<< "${x}"
echo "${var}"
참고 URL : https://stackoverflow.com/questions/10218474/how-to-obtain-the-first-letter-in-a-bash-variable
반응형
'IT박스' 카테고리의 다른 글
Ruby Gems가 설치되지 않고 Gems를 가져 오는 동안 중단됨 (0) | 2020.10.20 |
---|---|
더 나은 루비 마크 다운 인터프리터? (0) | 2020.10.20 |
왜 C ++의 모든 것에 포인터를 사용하지 않습니까? (0) | 2020.10.20 |
PHP 변환 날짜 형식 dd / mm / yyyy => yyyy-mm-dd (0) | 2020.10.20 |
컬렉션을 채울 때 쿼리에서 반환되지 않도록 Mongoose / MongoDB의 암호 필드를 보호하는 방법은 무엇입니까? (0) | 2020.10.20 |