好久没有更新博客了,今天来介绍一些基本的常用于Linux文本处理的shell命令,对于初入Linux任务的人兴许有一些帮助。本文不介绍命令的基础使用,只阐述一些能够提高效率的tips。
shell下的几个文本处理

关于 vi

跳到文本第一行,按gg
跳到文本最后一行, 按G
跳到行首,按0
跳到行尾,按$
vi加密:输入 “:” + “X” 之后,会提示输入两次密码。之后 :wq 保存退出。如果想取消密码,输入 :X ,然后输入密码,连续按两次回车ok。

tail

tail命令用于输出文件中的尾部内容。默认显示文件末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。

删除文件的前k-1行

1
2
tail -n +k old_file > new_file 
mv new_file old_file
1
2
3
tail file (显示文件file的最后10行)
tail +20 file (显示文件file的内容,从第20行至文件末尾)
tail -c 10 file (显示文件file的最后10个字符)

date

date +%s 可以得到UNIX的时间戳;

awk使用外部变量

有的时候我们可能需要在shell脚本中使用到外部变量。例如,判断文件中的过期时间expire_time,将其和当前时间比较。这时候就需要用到外部变量了。

1
2
curtime=`date -d "-1 days ago"  +%s`                         
cat test.txt | awk -F '[,;]' '{if ($16==1 && $24>curtime){print $0}}' curtime="$curtime" >> items.txt

参考

http://man.linuxde.net/tail
linux中tail 命令使用详解(显示最尾部的内容)
linux shell awk获得外部变量(变量传值)简介