linux 常用文本操作

cat 连接文件,打印到标准输出设备上

语法介绍

cat [OPTION]... [FILE]...
-A --show-all 等价于-vET
-b 显示编号去除空行
-n 显示编号包括空行
-E 显示行结束符
-s 连续的多行空白,显示一行
-T 显示tab
-v 使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

使用场景:

显示行号

[[email protected] ~]# cat -n anaconda-ks.cfg

连接查看

[[email protected] ~]# cat -n anaconda-ks.cfg /etc/hosts

合并文件

[[email protected] ~]# cat t1 t2 > t3

重定向文本输入

[[email protected] ~]# cat << EOF
hello world
EOF
hello world

重定向文件输入

[[email protected] ~]# cat < anaconda-ks.cfg


more

按百分比显示文件,有过滤,搜索功能,对于大文件比cat更方便阅读

参数:

-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, ‘q‘ to quit.] ,如果使用者按错键,则会显示 [Press ‘h‘ for instructions.] 而不是 ‘哔‘ 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数

操作命令:

Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
/keyword 搜索关键字
q 退出more

常用操作:

[[email protected] ~]# more -s -20 anaconda-ks.cfg


less

比more更加灵活,鼠标可以往前往后滚动,随意浏览,还是懒加载,参数用法跟more类似

常用操作:

[[email protected] ~]# less -s -20 anaconda-ks.cfg


head

查看文件前几行

[[email protected] ~]# head -2 anaconda-ks.cfg


tail

查看文件末尾几行,还有监控文件功能

参数:

-n 显示行数
-f 监控文件

常用操作

[[email protected] ~]# tail -2 anaconda-ks.cfg
[[email protected] ~]# tail -f anaconda-ks.cfg


基于python实现 tail查看文件末尾几行功能

def read_last_lines(filename,lastlines=1):

    f = open(filename, ‘rb‘)
    first_line_data,first_tell = f.readline(),f.tell()
    f.seek(0)
    seek = 0

    #第一层循环判断是否为空文件
    for i in f:
        while True:
            f.seek(seek,2)
            current_tell = f.tell()
            seek -= 1
            data = f.readlines()

            if(first_tell == current_tell and not data):
                f.close()
                return  ‘1‘,[first_line_data]
            elif(first_tell == current_tell and data):
                if(len(data)<lastlines):
                    data.insert(0,first_line_data)
                f.close()
                return  ‘2‘,data
            else:
                if(lastlines != 1):
                    if(len(data) == lastlines):
                        return  ‘3‘,data
                else:
                    if (len(data) == 1):
                        if (first_tell == f.tell()):
                            f.close()
                            return ‘4‘, data[-1:]

                    if (len(data) > 1):
                        f.close()
                        return  ‘5‘, data[-1:]

data = read_last_lines(‘test2.txt‘,lastlines=10)
print(data)


未完待续....

原文地址:http://blog.51cto.com/marvin89/2104946

时间: 2024-11-07 01:30:28

linux 常用文本操作的相关文章

[Linux] Linux常用文本操作命令整理

简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计命令——wc 统计文件里面有多少单词,多少行,多少字符. 1.1 wc语法 # wc [-lwm] 选项与参数: -l :仅列出行: -w :仅列出多少字(英文单字): -m :多少字符: 1.2 wc使用 #wc /etc/passwd 40 45 1719 /etc/passwd 40是行数,4

linux 常用的操作指令

linux常用的基本指令: 0. 背景知识: 计算机:接受用户的指令与数据,经过中央处理器的数据与逻辑单 元运算处理后,以产生或存储成有用的信息. 广义上讲:我们周边有好多宽泛概念上的计算机,如加减乘除计算 机,手机, GPS, ATM等等. 计算机五大单元: 输入单元:包括键盘,鼠标,扫描仪,手写板等. 中央处理器( CPU):含有算术逻辑,控制,记忆等单元. 输出单元:显示器,打印机. 注意: 这里存储器指内存 CPU读取的数据都是从内存中来的, CPU处理完成的数据,必须要先 写回内存,,

Linux常用文本处理小小小工具

一.常用文本处理工具命令 cat命令:   cat [OPTION]... [FILE]...         -A, --show-all 等价于 -vET             -b, --number-nonblank 对非空输出行编号         -e 等价于 -vE         -E, --show-ends 在每行结束处显示 $         -n, --number 对输出的所有行编号         -s, --squeeze-blank 不输出多行空行       

Linux常用命令操作

Linux简介及Ubuntu安装 常用指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安装步骤,找百度. 再安装Ubuntu.具体安装步骤,找百度. 安装完后,可以看到Linux系统的目录结构,见链接http://

linux常用文本编辑器nano/vi/vim

linux下有很多文本编辑器,其中系统(不管哪个分支)都会自带nano和vi这两个最基本的编辑器.vim相当于vi的升级版.这里我们依次来讲解这几个编辑器的用法. 1.nano 直接在命令行中敲入nano filename即可打开文件或新建文件. 可以看到第一行反白介绍了nano的版本号以及被编辑的文件名称.接下来就是可编辑区域,这里由于nano.txt文件是一个新建文件,内容为空,所以编辑区域没有任何文本文字.再看最后的两行,这是nano下可以使用的一些快捷键,其对应的含义翻译如下: ctrl

Linux常用指令操作笔记

这篇博文是我在日常工作中比较常用的指令操作,陆续会慢慢补齐,大家觉得有用可以参考参考,我会不定时的修改这篇博文.我所使用的Linux操作系统版本是Ubuntu. 一.开关机 reboot 重启电脑 shutdown -r now 重启电脑 shutdown -h +10 "This is a warning information" 10分钟后关机 poweroff -h 关机 二.版本 uname -a 查看linux当前版本 三.安装 apt-get install 要安装的包 四

[linux]记录一些Linux常用的操作

0x01 修改hostname [[email protected]_111_206_centos ~]# hostname [[email protected]_111_206_centos ~]# vim /etc/sysconfig/network [[email protected]_111_206_centos ~]# vim /etc/hosts [[email protected]_111_206_centos ~]# reboot  0x02 修改vim默认缩进 [email p

linux常用文本编缉命令

strings--读出文件中的所有字符串 sed--文本编缉 类型 命令 命令说明 字符串替换 sed -i 's/str_reg/str_rep/' filename 将文件每一行第一个str_reg字符组替换为str_rep 字符串替换 sed -i 's/str_reg/str_rep/g' filename 将文件每一行所有str_reg字符组替换为str_rep 行删除 sed -i '2d' filename 将文件当前的第二行删除 行删除 sed -i '2,5d' filenam

Linux 常用配置操作

init命令级别: 0:停机 1:单用户形式,只root进行维护 2:多用户,不能使用net file system 3:完全多用户 5:图形化 4:安全模式 6:重启 修改计算机名: vi /etc/sysconfig/network 设置静态ip 使用root用户: vi /etcIP/sysconfig/network-scripts/ifcfg-eth0 打开是这样: 修改为: ONBOOT=yes BOOTPROTO=static 添加下列配置: IPADDR=192.168.11.2