Linux tail命令
Linux:tail 命令
tail命令与head命令用法相似,tail命令用于查看文档的尾端指定数量的字符块,默认显示文档的最后 10 行,
如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。
tail命令的帮助文档
DESCRIPTION
Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each
with a header giving the file name.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-c, --bytes=[+]NUM
output the last NUM bytes; or use -c +NUM to output starting with byte NUM of each file
-f, --follow[={name|descriptor}]
output appended data as the file grows;
an absent option argument means 'descriptor'
-F same as --follow=name --retry
-n, --lines=[+]NUM
output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with
line NUM
--max-unchanged-stats=N
with --follow=name, reopen a FILE which has not
changed size after N (default 5) iterations to see if it has been unlinked or renamed (this
is the usual case of rotated log files); with inotify, this option is rarely useful
2、命令选项
-c, --bytes=K k,显示文档结尾的前 k 字节,+k,不显示文档开始的前 k-1 字节 -f, --follow[={name|descriptor}] 动态监视文档最新追加的内容 -n, --lines=K k,显示文档结尾的 k 行,+k,不显示文档开始的前 k-1 行 -q, --quiet, --silent 当有多个文件参数时,不输出各个文件名 -s, --sleep-interval=N 与“-f”选项连用,指定监视文件变化时间隔的秒数 --help 显示此帮助信息并退出 --version 显示版本信息并退出
实例:
- 显示 lines.txt 最后 5 行内容
ubuntu:~/test$ cat lines.txt 01 02 03 04 05 06 07 08 09 10 11 12 ubuntu:~/test$ tail -5 lines.txt 08 09 10 11 12 ubuntu:~/test$
- 显示 lines.txt 除了 前 9 行内容,从第10行开始
ubuntu:~/test$ tail +10 lines.txt 10 11 12 ubuntu:~/test$
Linux:awk命令 NR, FNR,NF
NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的缩写。
在awk处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为File Number of Record。
NF表示目前的记录被分割的字段的数目,NF可以理解为Number of Field。
Linux:cut命令详解
-
文件内容查看
-
显示行中的指定部分,删除文件中指定字段
-b:仅显示行中指定直接范围的内容; -c:仅显示行中指定范围的字符; -d:指定字段的分隔符,默认的字段分隔符为“TAB”; -f:显示指定字段的内容; -n:与“-b”选项连用,不分割多字节字符; --complement:补足被选择的字节、字符或字段; --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符; --help:显示指令的帮助信息; --version:显示指令的版本信息。
Linux:sed命令详解
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
- -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
- -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
- -h或--help 显示帮助。
- -n或--quiet或--silent 仅显示script处理后的结果。
- -V或--version 显示版本信息。
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :替换,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
给定一个文本文件 file.txt
,请只打印这个文件中的第十行。
tail -n +10 file.txt | head -1 awk 'NR==10' file.txt sed -n 10p file.txt cat -n file.txt | grep -E "^[[:space:]]{4}10" | cut -f1 --complement