对于 Fedora 操作系统
我仍然在这里学习,但我需要帮助插入一个命令,例如“XXX”来表示我有一个包含 1000 行单个产品名称的文件。我需要编写一个命令来基本上打印特定行,例如:
从 MyProductList.sh 打印第 50-100 行
这只是一个例子,供您参考。文件内只有 1000 行 1 个字的产品。每行一个字。
我需要的结果可能如下所示:
50. tea
51. coffe
52. orange
53. banana
54. etc
答案1
输出5行,从第2行开始:
$ tail <infile -n+2 | head -n5 >outfile
输出线 2 至 7:
$ tail <infile -n+2 | head -n$((7-2)) >outfile
输出线a至b:
$ a=2 ; b=7
$ tail <infile -n+$a | head -n$(($b-$a)) >outfile
答案2
如果您有一个包含一系列行的文件,每行都有编号(按顺序):
$ cat words.txt
1. something
2. something else
....
1000. yet something else
如果你想打印一系列行,你可以使用sed
:
$ sed -n '50,100p' words.txt
50. abandonee
51. abandoner
52. abandonment
...
98. abbacomes
99. abbacy
100. Abbadide
上面-n
说“默认情况下不打印行”,50,100p
意思是“对于第 50-100 行,打印该行”。