반응형
쉘 스크립트에서 여러 줄 출력 들여 쓰기
SSH를 사용할 때 내 디렉터리 중 하나의 git 상태를 표시하도록 Ubuntu Amazon EC2 상자에서 오늘의 메시지 (MOTD)를 변경하려고합니다.
모든 기본 MOTD 파일의 출력은 각 줄의 시작 부분에 두 개의 공백이 있으므로 들여 쓰기가 멋지게 보이지만 git status
출력이 여러 줄에 걸쳐 있기 때문에 echo -n " "
첫 번째 줄만 들여 쓰기 만하면됩니다.
모든 줄을 들여 쓰는 방법을 아십니까?
감사!
sed
각 줄의 시작 부분에 2 개의 공백을 삽입 하도록 파이프하십시오 .
git status | sed 's/^/ /'
@Barmar의 답변을 바탕으로 이것은 더 깔끔한 방법입니다.
indent() { sed 's/^/ /'; }
git status | indent
other_command | indent
몇 가지 멋진 간단한 솔루션에 대해 @Barmar와 @Marplesoft 덕분에-다른 사람들이 좋아할 수있는 또 다른 변형이 있습니다-다음을 사용하여 들여 쓰기 수준을 알 수있는 함수입니다 pr
.
indent() {
local indentSize=2
local indent=1
if [ -n "$1" ]; then indent=$1; fi
pr -to $(($indent * $indentSize))
}
# Example usage
ls -al | indent
git status | indent 2
참조 URL : https://stackoverflow.com/questions/17484774/indenting-multi-line-output-in-a-shell-script
반응형
'program tip' 카테고리의 다른 글
따옴표 사이의 경우를 제외하고 Java의 공백에서 문자열 분할 (예 : \ "hello world \"를 하나의 토큰으로 취급) (0) | 2020.12.15 |
---|---|
Wordpress를 Django 또는 Ruby on Rails와 같은 프레임 워크로 대체 할 수 있습니까? (0) | 2020.12.15 |
clojure / clojurescript의 개인 정의 (0) | 2020.12.15 |
Angular 2-외부 URL로 리디렉션하고 새 탭에서 열기 (0) | 2020.12.15 |
Vue Js-v-for X 회 (범위 내)를 통한 루프 (0) | 2020.12.15 |