本文介绍了击:如何找到并通过插入连字符和换行符分手排长队?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道如何找到排长队在文件中,用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.

这篇关于击:如何找到并通过插入连字符和换行符分手排长队?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 16:01