问题描述
我知道如何找到排长队在文件中,用awk或sed的:
$ AWK'长度LT = 5'foo.txt的
将打印长度LT只有线;。= 5
SED -i/^.\\{5,\\}$/d'文件
将删除所有行超过5个字符。
但如何找到排长队,然后通过插入符将它们分开?('和;在我的情况)和换行
背景:
我有一个自动生成的一些FORTRAN code。不幸的是,一些线路超过132个字符的限制。我想找到他们,并自动将它们分开。例如,这样的:
这是一个强权长线,应该通过将延续系统字符被分解'和;'和换行符。
应该成为这样的:
这是一个强权长线,应该打破&安培;
同比插入延续系统字符'和;' A和
第二换行符。
有一个办法 SED
:
$ SED -r的/ {} 47 /&安培; \\&放大器; \\ n / g的'文件
这是一个强权长线,应该打破&安培;
同比插入延续系统字符'和;' A和
第二换行符。
I know how to find long lines in a file, using awk or sed:
$ awk 'length<=5' foo.txt
will print only lines of length <= 5.
sed -i '/^.\{5,\}$/d' FILE
would delete all lines with more than 5 characters.
But how to find long lines and then break them up by inserting the continuation character ('&' in my case) and a newline?
Background:
I have some fortran code that is generated automatically. Unfortunately, some lines exceed the limit of 132 characters. I want to find them and break them up automatically. E.g., this:
this is a might long line and should be broken up by inserting the continuation charater '&' and newline.
should become this:
this is a might long line and should be broken &
up by inserting the continuation charater '&' a&
nd newline.
One way with sed
:
$ sed -r 's/.{47}/&\&\n/g' file
this is a might long line and should be broken &
up by inserting the continuation charater '&' a&
nd newline.
这篇关于击:如何找到并通过插入连字符和换行符分手排长队?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!