【发布时间】:2012-08-02 14:06:02
【问题描述】:
我有一个包含地址列表的文件,它看起来像这样 (ADDRESS_FILE)
0xf012134
0xf932193
.
.
0fx12923a
我有另一个文件,其中包含如下所示的数字列表 (NUMBERS_FILE)
20
40
.
.
12
我想从 ADDRESS_FILE 中删除前 20 行并将其放入一个新文件中
然后从 ADDRESS_FILE 中删除接下来的 40 行,依此类推...
我知道下面给出的一系列 sed 命令可以完成这项工作
sed -n 1,20p ADDRESSS_FILE > temp_file_1
sed -n 20,60p ADDRESSS_FILE > temp_file_2
.
.
sed -n somenumber,endofilep. ADDRESS_FILE > temp_file_n
但我想使用 shell 脚本自动执行此操作,这将更改每次 sed 执行时要剪切的行数。
如何做到这一点???
另外,在一般情况下,哪些是 linux 中的文本处理命令在这种情况下非常有用?
【问题讨论】:
-
Wrt 文本处理命令,很多都可以直接由你的 shell 完成,所以要熟悉它。如果您使用的是基于 GNU 的系统,我建议您阅读
coreutils.info和sed.info。对于更复杂的任务awk和perl很好。