相关疑难解决方法(0)

将单行拆分为多行,输入文件中的所有行都缺少换行符

我有一种方法可以将单行分成 3 列的多行。文件中所有行的末尾都缺少换行符。

我尝试使用 awk,但它将每列拆分为一行,而不是每行中的 3 列。

awk '{ gsub(",", "\n") } 6' filename
Run Code Online (Sandbox Code Playgroud)

wherefilename的内容如下所示:

A,B,C,D,E,F,G,H,I,J,K,L,M,N,O
Run Code Online (Sandbox Code Playgroud)

所需的输出每行有 3 列:

A,B,C
D,E,F
G,H,I
J,K,L
M,N,O
Run Code Online (Sandbox Code Playgroud)

linux text-processing split newlines

6
推荐指数
2
解决办法
3万
查看次数

在每第 N 次出现分隔符后添加新行

我有一个roll.txt包含以下数据的文件,以逗号分隔格式,没有任何换行符。

'123456789','987651234','129873645','213456789','987612345','543216789','432156789','876543291','213465789','542637819','123456','23456','22234','3456','7890543','34567891,'2345','567'
Run Code Online (Sandbox Code Playgroud)

我需要在每 6出现逗号分隔符后插入一个新行,并且每行末尾没有逗号。

以下是预期的输出:

'123456789','987651234','129873645','213456789','987612345','543216789'
'432156789','876543291','213465789','542637819','123456','23456'
'22234','3456','7890543','34567891,'2345','567'
Run Code Online (Sandbox Code Playgroud)

我正在使用以下sed不起作用的命令。

sed 's/[^,]//g'
Run Code Online (Sandbox Code Playgroud)

sed text-processing

5
推荐指数
2
解决办法
7125
查看次数

5
推荐指数
2
解决办法
1256
查看次数

将不同行上的单词合并为一行

我有一个文件,其中包含彼此下的单词列表,其中这些单词属于一个句子,然后属于下一个句子的单词也彼此在下。与一个句子相关的单词块后跟一个空格,如下面的表示#2 所示

预期输出:(表示#1):

These are the words for sentence 1
These are the words for sentence 2
Run Code Online (Sandbox Code Playgroud)

预期输入:(表示#2):

These
are
the
words
for
sentence 1

these
are
the
words
for
sentence 2
Run Code Online (Sandbox Code Playgroud)

我尝试遵循这个问题,但是当我对不同的句子使用不同的单词时,它不起作用,那么如何在linux中将表示编号2更改为表示编号1?

linux grep awk text-processing

3
推荐指数
2
解决办法
801
查看次数

标签 统计

text-processing ×4

awk ×2

linux ×2

sed ×2

command-line ×1

grep ×1

newlines ×1

split ×1