具有文件的字节偏移量。
是否有提供此字节行号的工具?
示例,文件:
001
002
003 <<-- first zero on this line is byte 8
004
Run Code Online (Sandbox Code Playgroud)
有字节偏移8
会给我行3
。
猜猜我可以使用这样的东西来查找行号:
一种。tail -c+(offset + 1) file | wc -l
,这里+1
为tail
从1计数
湾 wc -l file
C。那么tail -n+num
这里num
是a - b + 1
但是......有没有一个相当常见的工具可以num
直接给我?
编辑,错误:或更明显:
head -c+offset file | wc -l
Run Code Online (Sandbox Code Playgroud) 我正在使用一个脚本,其中列出了一个选择列表。如:
1)项目 1 #(突出显示) 2) 第 2 项 3)项目 3 # (已选) 4) 第 4 项
down-arrow
下一个项目时突出显示up-arrow
以前的项目时突出显示tab
项目时shift+tab
所有项目被选择/取消选择ctrl+a
所有项目时这在当前使用中运行良好,这是我个人使用,其中输入由我自己的设置过滤。
问题是如何使这在各种终端上都可靠。
我使用了一个有点hackish的解决方案来读取输入:
while read -rsn1 k # Read one key (first byte in key press)
do
case "$k" in
[[:graph:]])
# Normal input handling
;;
$'\x09') # TAB
# Routine for selecting current item
;;
$'\x7f') # Back-Space
# Routine for back-space
;;
$'\x01') …
Run Code Online (Sandbox Code Playgroud) 是否有任何工具可以将带有 ANSI 代码的文本转换为类似文本的输出?tput
帽子名称之类的?
查询的原因是我想使用script
或类似的方法查看生成的文件,而不必破译 ANSI 序列。我知道一些,但不是全部,文本输出会更容易阅读。
在大多数情况下,我可以查看生成 ANSI 文本的脚本或程序的源代码,但如果有“调试”之类的工具就好了。
最好的可能是 C ?变量名,即:
^[[K -> <clr_eol>
Run Code Online (Sandbox Code Playgroud)
知道我可以为它写一个脚本......例如:
sed 's/$/<newline>/' rec001.txt | \
sed 's/\x07/\n<bell>/g' | \
sed 's/\x1b\[K/\n<clr_eol>/g' | \
sed 's/\x1b\[?12l\x1b\[?25h/\n<cursor_normal>/g' | \
sed 's/\x1b\[\([0-9]\+\);\([0-9]\+\)H/\n<cursor_position(\1, \2)>/g' | \
sed 's/\x1b\[?1049h/\n<enter_ca_mode>/g' | \
sed 's/\x1b\[?25l/\n<cursor_invisible>/g' | \
sed 's/\x0d/<CR>/g' | \
...
Run Code Online (Sandbox Code Playgroud)
这是我对Irssi录音进行的快速测试的一部分。
但是想知道是否有任何现有的工具可以完成这项工作。
作为一个侧面说明,我们有aha
,安思HTML适配器,它转换ANSI到HTML。但这不是我要找的适配器。
重新启动 Chrome,左上角的旧配置文件头像不见了。
不断使用多个配置文件进行各种测试等。我已经习惯于通过查看左上角来快速识别我使用的配置文件。这也是将各种打开的配置文件放在前面的快速方法(因为 alt+tab 等上的所有图标都是相同的)。
新版本:右上角的“名称”带有多层导航和大量额外信息。当然对某些人很好,但对我来说不是。
如何恢复?
使用 Google Chrome 时,我经常看到“Sorry Jim”标签。浏览器也经常死机和崩溃。
从终端模拟器运行它会显示一长串Too many open files
:
[...:ERROR:shared_memory_posix.cc(231)] Creating shared memory in /dev/shm/.com.google.Chrome.0A3O7D failed: Too many open files
[...:ERROR:shared_memory_posix.cc(231)] Creating shared memory in /dev/shm/.com.google.Chrome.gr0r3Q failed: Too many open files
Run Code Online (Sandbox Code Playgroud)
谷歌浏览器(32 位,不确定是否影响 64 位)。
在 GNOME (3) 中运行 Chrome,至少从 shell 中,对于浏览器中发出的每个按键都会产生此错误:
[...:ERROR:browser_main_loop.cc(209)]
Gdk: gdk_window_set_user_time called on non-toplevel
Run Code Online (Sandbox Code Playgroud)
怎么修?