系统相关
首页 > 系统相关> > 【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容

【Shell案例】【打印指定行用sed、for循环、head和tail配合使用】4、输出第5行的内容

作者:互联网

描述
写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容。

示例:
假设 nowcoder.txt 内容如下:
welcome
to
nowcoder
this
is
shell
code

你的脚本应当输出:
is

方法1:变量定义+for循环

#!/bin/bash
let j=0
for i in `cat nowcoder.txt`
do
    if [[ $j -eq 4 ]];
    then
        echo $i
    fi
    let j++
done

方法2:head和tail配合使用

#!/bin/bash
head -n 5 nowcoder.txt | tail -n 1

方法3:sed方式

#!/bin/bash
sed -n "5,5p" nowcoder.txt

$n0 表示当前文件名
如果你只想看文件的前100行,可以使用head命令,如
head -100 $n0


如果你想查看文件的后100行,可以使用tail命令,如:
tail -100 $n0 或 tail -n 100 $n0


查看文件中间一段,你可以使用sed命令,如:
sed -n ‘100,200p’ $n0
这样你就可以只查看文件的第100行到第200行。

-n 处理匹配到的行
-e 命令行进行编辑


p打印匹配到的内容
=打印匹配到的行号

打印某一行,可以直接使用单个参数的sed,即

#!/bin/bash
sed -n '5p' nowcoder.txt

 

标签:head,Shell,行用,tail,sed,nowcoder,100,txt
来源: https://www.cnblogs.com/liujinhui/p/16200309.html