![sed를 사용하여 문자열의 첫 번째 문자를 새 줄로 묶습니다.](https://linux55.com/image/108474/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EC%83%88%20%EC%A4%84%EB%A1%9C%20%EB%AC%B6%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
문자열이 있다고 가정하면, 특별히 문자열 로 바꾸지 않고도 foobar
비슷한 것을 쉽게 생성할 수 있습니까 ?[f]oobar
f
[f]
사용 사례: 프로세스 이름에 대한 사용자 입력을 허용하고 을 제거하면서 프로세스 세부 정보를 표시하고 싶습니다 grep
.
답변1
하다:
sed 's/^./[&]/'
^.
줄의 첫 번째 문자와 일치- 교체에서
&
일치 항목으로 확장하여 일치 항목을 묶습니다.[]
예:
% sed 's/^./[&]/' <<<'foobar'
[f]oobar
답변2
Bash에서만 하위 문자열 확장을 사용하세요.
$ pat=foobar
$ echo "[${pat:0:1}]${pat:1}"
[f]oobar
답변3
v=foobar
echo "[${v%${v#?}}]${v#?}"
[f]oobar