希望有人可以帮助我。
我有大量不同行数的文件。 我想在文件中添加新行到特定行,比如说6.
Infile.txt
text1
text2
text3
我想要的输出文件是
Outfile.txt
text1
text2
text3
\n
\n
\n
答案 0 :(得分:3)
短 awk 解决方案:
-v r=6
r
- 表示总行数/最大行数的变量{{1}} 答案 1 :(得分:1)
在awk的SELECT main.table_name parent, par_col.COLUMN_NAME par_column,
link.table_name child,link_col.COLUMN_NAME child_column
FROM user_constraints main, user_constraints link,
user_cons_columns par_col, user_cons_columns link_col
WHERE main.constraint_type IN ('P', 'U')
AND link.r_constraint_name = main.constraint_name
and main.constraint_name = par_col.CONSTRAINT_NAME
and link.r_constraint_name = link_col.CONSTRAINT_NAME
and main.owner = '<schema_name>'
ORDER BY main.table_name, link.table_name;
块中,内置变量END
将包含文件最后一行的行号。从那里可以轻松打印所需数量的额外空行。
NR
答案 2 :(得分:1)
恕我直言,最清楚,最明显的处理方法是简单地从最后一个行号加1到目标行数:
$ seq 3 | awk -v n=6 '{print} END{for (i=NR+1; i<=n; i++) print ""}'
1
2
3
$
如果您想保存变量,也可以倒计时:
$ seq 3 | awk -v n=6 '{print} END{while (n-- > NR) print ""}'
1
2
3
$
但恕我直言,为了简洁而牺牲清晰度而不值得。