(3)Linux文本文件操作命令

文本文件操作命令

命令功能命令功能
cat, tac显示文本文件内容diff显示两个文件的差异
more, less分页显示文本文件内容expand将文件中的制表符转换为空格
head, tail显示文本文件的前若干行或后若干行unexpand将文件中的空格转换为制表符
cut纵向切割出文本指定的部分dos2unix将DOS格式的文本转换成UNIX格式
paste纵向合并多个文本unix2dos将UNIX格式的文本转换成DOS格式
grep按关键字抽取匹配的行iconv将文本从一种编码转换成另一种编码
wc文本数据统计tr转换字符
sort以行为单位对文本文件排序sed流编辑器,通常用于非交互式的字符串替换
uniq删除文本文件中连续重复的行awkawk 是一种用于处理文本的编程语言工具,通常用于处理有格式的文本

cat

命令说明
cat /etc/paswd滚屏显示文件 /etc/passwd 的内容
cat -n /etc/passwd滚屏显示文件 /etc/passwd 的内容并显示行号
等价于 nl /etc/passwd

more

命令说明
more /etc/passwd分屏显示文件 /etc/paawd 的内容
注意 <Space>键 <Enter>键 和 q 键的使用
more +10 /etc/passwd从第10行起分屏显示文件 /etc/passwd 的内容

less

命令说明
less /etc/passwd分屏显示文件 /etc/passwd 的内容
注意 <Space>键 <Enter>键 <PgDn>键<PgUp>键和 q 键的使用

head

命令说明
head -4 /etc/passwd显示文件etc/passwd 前4行内容

tail

命令说明
tail -4 /etc/passwd显示文件 /etc/passwd 后4行的内容
tail -n + 10 /etc/passwd显示文件 /etc/passwd 从10行开始到文件尾的内容
tail -f /var/log/messages跟踪显示不断增长的文件结尾内容(通常用于显示日志文件)

cut

命令说明
cut -f1,3-5 -d: /etc/passwd以冒号作为间隔符显示 /etc/passwd 的第1,3,4,5列

paste

命令说明
paste mytxt.en mytxt.cn纵向合并文件 mytxt.en 和 mytxt.cn

wc

命令说明
wc myfile统计指定文本文件的行数、字数、字符数
wc -l myfile统计指定文本文件的行数

tr

命令说明
tr ‘A-Z’ ‘a-z’ myfile将myfile文件中的所有大写字母转换为小写字母显示在屏幕上

sort

命令说明
sort myfile以行为单位对文本文件myfile排序(以ASCII码顺序)
sort -u myfile以行为单位对文本文件myfile排序(对相同的行只输出一行)
sort -r myfile以行为单位对文本文件myfile排序(以ASCII码逆序)
sort -n myfile以行为单位对文本文件myfile排序(根据字符串的数值进行排序)

grep

命令说明
grep my myfile在文件myfile中查找字符串my
grep -i my myfile1 myfile2在多个指定文件中查找字符串my(忽略大小写)
grep -v “^#” /etc/grub.conf显示文件 /etc/grub.conf 除了以 # 开始行
grep -l root /etc/*列出 /etc 目录下所有内容包含字符串 root 的文件名
grep -lr root /etc/*递归列出 /etc 目录下 所有内容包含字符串 root 的文件名

diff

命令说明
diff myfile1 myfile2比较两个文件的差异

dos2unix

命令说明
dos2unix -k *.txt将当前目录下所有后缀为txt的文件转换为UNIX格式(不改变时间戳)
dos2unix -k -n dosfile linuxfile将DOS格式的dosfile文件转换为 UNIX格式的 linuxfile

iconv

命令说明
iconv -f GB2312 -t UTF-8 -o outputfile inputfile将编码为GB2312的inputfile 文件转化为 UTF-8 编码的outputfile

sed

显示之后,未改变源文件

命令说明
sed ‘s/Windows/Linux/g’ myfile将myfile文件中所有Windows替换成Linux,未改变原文件
sed ‘s/cc*/c/g’ myfile将 myfle 中所有连续出现的c都压缩成单个c
sed ‘s/^[\t]*//’ myfile删除myfile中每一行前导的连续“空白字符”(空格,制表符)
sed ‘s/*$//’ myfile删除myfile中每行结尾的所有空格
sed ‘s/^/> /’ myfile在每一行开头加上一个尖括号和空格(引用信息)
sed ‘s/^>//’ myfile将每一行开头处的尖括号和空格删除 (解除引用)
sed ‘s/.*///’ myfile删除路径前缀
sed ‘/^$/d’ myfile删除所有空白行

awk

命令说明
awk -F: ‘{print $1,$5}’ /etc/passwd以分号为间隔符,列出/etc/passwd 的第1列和第5列
命令说明
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值