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 标志来选择哪些行输出到控制台。
Syntax: 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
输出: