Unix/Linux:显示文件的前10或者20行
时间:2020-01-09 10:46:05 来源:igfitidea点击:
如何在Linux或者类似Unix的系统上显示文件的前10或者20行?
您可以在Unix或者Linux上使用以下任何命令来查看文件的前10行:
- head命令
- sed命令
- awk命令
- Perl/Python/Php/Ruby
head命令示例以打印前10/20行
执行以下head命令以显示名为bar.txt的文件的前10行:
head -10 bar.txt
执行以下head命令以显示名为bar.txt的文件的前20行:
head -20 bar.txt
如何使用head命令查看文本文件的开头
传递-n
选项,如下所示来控制输出的长度:
head -n 5 /etc/passwd
您也可以查看多个文件:
head file1 file2 file3 head -2 /etc/passwd /etc/hosts
也可以使用Shell管道,即使用head命令来过滤命令或者文件的输出:
command1 | head command1 | head -n 5 ls -l /etc/ | head -n 5
您也可以将输出存储到shell变量中:
file=$(ls -1 -t | head -1) cp "$file" ~/network-share/backups/
sed命令示例以打印前10/20行
执行以下sed命令以显示名为/etc/group的文件的前10行:
sed -n 1,10p /etc/group
执行以下sed命令以显示名为/etc/group的文件的前20行:
sed -n 1,20p /etc/group
awk命令示例以打印前10/20行
执行以下awk命令以显示名为/etc/passwd的文件的前10行:
awk 'FNR <= 10' /etc/passwd
执行以下awk命令以显示名为/etc/passwd的文件的前20行:
awk 'FNR <= 20' /etc/passwd
perl命令示例,以查看文件的前10/20行
执行以下perl命令以显示名为/etc/passwd的文件的前10行:
perl -ne'1..10 and print' /etc/passwd
执行以下perl命令以显示名为/etc/passwd的文件的前20行:
perl -ne'1..20 and print' /etc/passwd
sed,awk,head和perl命令的示例输出:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin