📜  Shell 脚本显示给定行号之间的所有行

📅  最后修改于: 2022-05-13 01:57:32.909000             🧑  作者: Mango

Shell 脚本显示给定行号之间的所有行

在本文中,我们将编写一个 shell 脚本来将给定行号之间的所有行显示到控制台。

我们有一个文件名以及开始和结束行,我们必须编写一个脚本来打印从指定开始行到文件结束行的所有行。

例子:

File : a.txt
    Line 1 : Hello
    Line 2 : GeeksForGeeks
    Line 3 : Hritik
    Line 4 : Hello GFG
    Line 5 : Hello Hritik

start line, s = 2 
end line,   e = 4

Output : 
    Line 2 : GeeksForGeeks
    Line 3 : Hritik
    Line 4 : Hello GFG

方法:

  • 首先,使用 cat 或任何文件创建命令创建一个文件 main.sh。
  • 使用读取命令获取用户输入
  • 现在我们将使用一个工具sed

我们将使用用于将内容输出到控制台的工具 sed。 sed 被传递一个 -n 标志来选择哪些行输出到控制台。



例子 :

file = a.txt,  s = 2 and e = 4
 sed -n 2,4\p a.txt

编写并保存代码后,使用以下命令授予文件权限

chmod 777 a.txt

它将授予用户读取、写入和执行权限。

下面是实现:

//Shell script to display all the 
//given lines of a file

//take file name from user
//and store the input in f variable
echo "Enter the file name :"
read f

//take starting line from user 
//and store the input in s variable
echo "Enter the starting line :"
read s 

//take endinging line from user 
//and store the input in e variable
echo "Enter the ending line :"
read e

//printing the specified lines to console.
sed -n $s,$e\p $f

输出:

Shell 脚本显示给定行号之间的所有行