탭/공백으로 들여쓰기하려면 grep의 출력이 필요합니다.
들여쓰기되지 않은 간단한 버전은 다음과 같습니다. MyCmd | grep "id:"
나는 성공하지 않고 이것을 시도했습니다.MyCmd | grep "id:" | echo " "
답변1
awk
grep
허용되는 경우 다음을 수행할 수 있습니다.
MyCmd | awk '/id:/ {print " " $0}'
또는 grep이 필요한 경우 sed
다음이 도움이 될 수 있습니다.
MyCmd | grep "id:" | sed -e 's/^/ /'
이 awk
버전은 "id:"가 포함된 줄에서 자체 패턴 일치를 수행한 다음 해당 줄 앞의 공백을 인쇄합니다. 이 sed
버전은 grep
이미 수행한 것과 동일한 작업을 수행하지만 각 줄의 시작 부분을 공백으로 바꿉니다(정규식은 ^
줄의 시작 부분과 일치합니다).
답변2
대신에 다음을 사용하세요 sed
:
MyCmd | sed 's/^.*id:/\t&/'
id:
일치하는 줄의 시작 부분에 탭 문자를 일치시키고 소개합니다.
예:
% sed 's/^foo/\t&/' <<<'foobar'
foobar