안녕하세요, 저는 html 페이지로 보내기 위해 bash 쉘 스크립트를 실행하고 있는데, html 페이지에서 bash 스크립트의 쉘 명령 출력과 함께 이 "[7l" 문자를 계속 넣습니다.
echo "<pre>" >> stats.html
echo "####### DISK Usage ########" >> stats.html
/usr/bin/dstat --disk-util --disk --top-bio-adv 1 1 >> stats.html
echo "</pre>" >> stats.html
HTML 페이지에는 다음이 있습니다.
####### DISK Usage ########
[7lsda- -dsk/total- ----most-expensive-block-i/o-process----
util| read writ|process pid read write cpu
0.04| 16k 8087B|systemd 1 8111B6247B0.0%
답변1
그냥 필터링하세요:
/usr/bin/dstat ... | sed 's/\x1b\[7l//' >> stats.html
Python 스크립트 이므로 dstat
편집하여 수정할 수도 있습니다. sys.stdout.write
다음 줄을 ### Disable line wrapping
뒤로 이동합니다(정확하게 들여쓰기) if sys.stdout.isatty()
.
--- dstat~
+++ dstat
@@ -2267,10 +2267,10 @@
hostname = os.uname()[1]
### Disable line-wrapping (does not work ?)
- sys.stdout.write('\033[7l')
### Write term-title
if sys.stdout.isatty():
+ sys.stdout.write('\033[7l')
shell = os.getenv('XTERM_SHELL')
term = os.getenv('TERM')
if shell == '/bin/bash' and term and re.compile('(screen*|xterm*)').match(term):