小编T. *_*Kau的帖子

用bash一次读取文件n个字符(不计算换行符)

如果有这样的文件:

abc
abc
abc
abc
abc
Run Code Online (Sandbox Code Playgroud)

并希望输出是

abcab
cabca
bcabc

Run Code Online (Sandbox Code Playgroud)

即我想一次读取5个字符并在线输出它们。

到目前为止,我已经试过如下:cat test | while read -N 5 a; do echo -n $a; printf '\n' ; done产生

abc a
bc ab
c abc
abc
Run Code Online (Sandbox Code Playgroud)

因此,发生的事情是它计算了换行符。如何防止这种情况发生?我正在使用的文件大小为几GB,因此仅将其重写为一行是不可行的。

我知道可以使用python / perl / ...轻松完成此操作,但是我想使用简单的unix工具进行操作。

unix bash shell

1
推荐指数
1
解决办法
42
查看次数

标签 统计

bash ×1

shell ×1

unix ×1