$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
답변
컷 포함 :
word='tiger'
echo "${word}" | cut -c 1
답변
sed
여기 에 태그가 있으므로 sed
답이 있습니다.
echo "$word" | sed -e "{ s/^\(.\).*/\1/ ; q }"
그것을 즐기는 사람들을 위해 플레이 바이 플레이
{
s
: 대체 루틴 시작/
: 대체 할 항목 지정 시작^\(.\)
: 그룹 1의 첫 번째 캐릭터 캡처.*
:, 나머지 줄이 대체에 있는지 확인하십시오./
: 대체 지정 시작\1
: 그룹 1 삽입/
: 나머지는 버립니다.;
q
:sed
이 블록이있는 경우 다른 행에 대해이 블록을 반복하지 않도록 종료 합니다.
}
재미 있었어요! :)
당신은 또한 사용할 수있는 grep
등하지만 당신이 있다면 마술 (magick) 여전히 IMO 더 나은 솔루션입니다. (나는 POSIX 변수 확장을 사용하려고 한 시간을 보냈지 만 할 수 없었습니다 )bash
${x:0:1}
:(
답변
Bash 4 사용 :
x="test"
read -N 1 var <<< "${x}"
echo "${var}"