こんにちは、私は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):