在文件的第N列添加字符

时间:2016-06-17 18:04:37

标签: bash awk emacs sed

我有一个代码文件,其中没有行超过N=80。 (让我们说class A { int a; }; )这是一个例子:

N

我想为每一行插入空格,直到该行的字符数达到c,然后插入一个自定义字符class A c { c int a; c }; c ,这可能是任何东西。所以对于我们的例子:

emacs

除了编写一个小程序之外,你怎么能在match = re.compile("_ts\d{14}$").match(pathstring) if match: do something 和/或bash中实现这个目标?

2 个答案:

答案 0 :(得分:4)

假设我理解了这个问题:假设你有以下文件,file.txt

name
10
100 20
more text here

使用以下内容:

awk '{printf("%-80sc\n",$0)}' file.txt

你会得到:

name                                                                            c
10                                                                              c
100 20                                                                          c
more text here                                                                  c

编辑:如果您提供的示例代码使用空格缩进,则上述awk也可以使用。

答案 1 :(得分:0)

假设您希望看起来像那些c的输出都位于同一位置,您将需要使用例如{{1}将所有选项卡转换为相应数量的空白字符。在填充之前。看看会发生什么,当输入包含标签时,使用pr -e -t

pr