sed를 사용하여 글머리 기호 목록을 만드는 방법은 무엇입니까?

sed를 사용하여 글머리 기호 목록을 만드는 방법은 무엇입니까?

다음 목록이 있습니다.

➜ cat list.txt
job titles
    site reliability engineer
    automation
        automation engineer
        automation architect
        integration specialists

나는 다음을 얻고 싶습니다 list2.txt:

* job titles
    * site reliability engineer
    * automation
        * automation engineer
        * automation architect
        * integration specialists

나는 그것이 당신에게 좋은 일이라고 확신합니다 sed. "줄 시작"을 얻는 방법을 알고 있습니다.

➜ sed 's/^/foo/g' list.txt
foojob titles
foo    site reliability engineer
foo    automation
foo        automation engineer
foo        automation architect
foo        integration specialists

나는 "줄의 시작, 단어 시작까지의 문자 수"를 얻을 수 있다고 생각했지만 작동하지 않습니다.

➜ sed 's/^.*\</foo/g' list.txt
job titles
    site reliability engineer
    automation
        automation engineer
        automation architect
        integration specialists

이제 "추가된 *를 제외하고 줄의 시작 부분부터 단어 시작 부분까지의 모든 내용"을 어떻게 바꿀 수 있는지 궁금합니다. 당신의 도움을 주셔서 감사합니다:)

답변1

한 가지 방법은 공백이 아닌 첫 번째 문자를 찾아 그 앞에 글머리 기호를 넣는 것입니다.

sed 's/[^[:blank:]]/* &/' list.txt
* job titles
    * site reliability engineer
    * automation
        * automation engineer
        * automation architect
        * integration specialists

관련 정보