.bashrc
로그인 터미널에 유용한 정보를 제공하기 위해 파일을 작성하고 있으며 cal 명령(좋은 명령)을 실행하라고 지시한다고 가정해 보겠습니다 . .bashrc
"환영 메시지"의 나머지 형식 과 일치하도록 결과 달력을 오른쪽으로 어떻게 이동합니까 ?
답변1
cal | sed 's/^/ /'
설명하다
cal |
: cal의 출력을 파이프로 연결합니다...sed 's/^/ /'
sed는 줄의 시작 부분을 찾아^
공백으로 바꿉니다. 여기에서 원하는 형식에 맞게 공백 수를 변경할 수 있습니다.
편집하다
그날의 하이라이트를 유지하려면 cal
파이프라인에 "색상"(하이라이트)을 출력하도록 지시해야 합니다. ~에서man cal
--color [when]
Colorize output. The when can be never, auto, or always. Never will turn off coloriz‐
ing in all situations. Auto is default, and it will make colorizing to be in use if
output is done to terminal. Always will allow colors to be outputed when cal outputs
to pipe, or is called from a script.
매뉴얼에 오타가 있는 것 같습니다. =
이를 작동시키려면 오타가 필요합니다. 그래서 마지막 명령은
cal --color=always | sed 's/^/ /'
답변2
cal | nl -bn
nl
... 번호가 없는 입력 줄을 항상 추가하는 들여쓰기 양과 동일하게 들여쓰기하기 때문에 작동합니다 . 기본적으로 nl
입력의 -h
시작이나 -f
끝 부분에는 번호가 지정되지 않고 -b
본문 줄에만 번호가 지정됩니다. n
본문 줄에 번호를 매기지 않도록 지시하면 -b
전혀 번호가 매겨지지 않고 각 입력 줄에 들여쓰기만 삽입됩니다.
들여쓰기 크기를 조정하려면 -w
idth 및 분리기 스위치를 사용하십시오 .-s
cal; cal | nl -bn
December 2015
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
December 2015
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
게다가:
cal | pr -to[num]
...어디[num]
각 줄의 시작 부분에 삽입할 공백 수입니다. pr
일반적으로 한 줄에 66줄을 인쇄합니다.페이지, -t
머리글/바닥글 삽입을 생략하고 입력 내용을 출력에 인쇄하도록 지시합니다. 그런 다음 오프셋 여백 스위치를 사용하여 -o
원하는 수의 공백을 삽입하십시오.[num]
각 출력 라인의 시작 부분에:
cal; cal | pr -to10
December 2015
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
December 2015
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
답변3
그리고 paste
:
cal | paste /dev/null -
paste
파일 행을 사이에 탭 문자와 함께 붙여넣습니다. 여기서는 파이프를 통해 전달된 출력 인 stdin( ) /dev/null
과 함께 빈 파일( )을 붙여넣습니다 .paste
-
cal
답변4
다음은 사용 예입니다 ex
.
ex +"%norm 20I " +%p -scq! <(cal)
20
원하는 공백 수로 변경합니다 . 사용 "%norm 20I "
- 을 교체하여 많은 공백을 반복하는 것보다 효율적입니다 "%s/^/ /"
.