如何在Bash中查看数据表时固定首行(如使用less工具)
固定文件首行查看的几种实现方法
方法一:用less原生功能快速实现
直接运行你平时用的less -S data.txt打开文件后,按以下操作即可:
- 按
g跳转到文件首行 - 按大写
P键,首行就会固定在终端顶部,滚动下方内容时首行保持不动 - 再次按
P可以取消固定
这个方法无需额外配置,纯靠less自带功能,上手最快。
方法二:定义Bash函数一键启动
如果不想每次手动操作,把下面的函数添加到你的~/.bashrc或~/.bash_profile文件里:
fixed_less() { [[ $# -eq 0 ]] && { echo "用法:fixed_less <文件名>"; return 1; } less -S --lesskey <(echo -e 'g\nP') "$1" }
执行source ~/.bashrc让函数生效后,直接运行fixed_less data.txt,就能自动固定首行打开文件。
方法三:结合awk做自定义首行显示
如果需要给首行加高亮之类的自定义效果,方便对照空格分隔的列名,可以用这个函数:
highlight_fixed_head() { [[ $# -eq 0 ]] && { echo "用法:highlight_fixed_head <文件名>"; return 1; } # 提取首行并设置蓝色高亮 local header=$(head -n1 "$1") echo -e "\033[1;34m$header\033[0m" > /tmp/fixed_hdr.tmp # 拼接首行和剩余内容后用less打开,自动固定首行 cat /tmp/fixed_hdr.tmp <(tail -n+2 "$1") | less -S --lesskey <(echo -e 'g\nP') rm -f /tmp/fixed_hdr.tmp }
内容的提问来源于stack exchange,提问作者rhombidodecahedron
相关产品推荐
相关产品推荐

