Linux 或 Mac 上有没有类似“文本整理器”这样的工具

1 天前
 adrianzhang
有一些 TXT 文件,格式是回车截断的,宽度不同,例子放在下面,需要改成无硬格式的文本。
Windows 上有“文本整理器”这样的软件可以处理,但难以跟其他工具做成整个处理流,例如,处理好 TXT 格式后还要处理错别字标点等,还要制作成不同文件格式等工作,所以想找找 Linux 上有没有类似软件。
搜了半天也找不到,关键词都不知道用什么好。

例子如下:

我用 P4 看小说 P4 被
我摔坏了 内屏坏了
暂时不能修 小半个
屏黑了 所以要让小
说每行 10 个字就能看

正好下到个小说就是
这样的 但是其余的
不会排版
百度知道里讲什么调
整 TXT 文件宽度的根
本没用 拉开后还是
满的!!
50 分很高了吧!!一
定要随便复制出来贴
在哪里都达到上面的
效果才算!!
931 次点击
所在节点    问与答
24 条回复
renmu
1 天前
你想去除换行?随便哪个语言实现都很容易
adrianzhang
1 天前
@renmu 有很多文件,宽度各个不同,段落间空行数等也不同,空格或 Tab 也乱,总之就是排版乱七八糟的。这么一堆文件需要处理,是需要一个程序的。这不知道了 Windows 有,想看看 Linux 的有没有。
diivL
1 天前
sed, awk
adrianzhang
1 天前
@diivL 怎么判断宽度呢?
mayli
1 天前
推荐自学正则
adrianzhang
1 天前
@mayli 学的不精。怎么用正则判断?
imjiaoyuan
1 天前
可以用 AI 写吧,Linux 下用正则其实挺容易实现的个人感觉
adrianzhang
1 天前
@imjiaoyuan 确实想过这个途径,但不知道该向 AI 提供什么样问题才能得到答案。
合并行?不对。
june4
1 天前
都不用正则,几行代码就行了。先把 2 个以上连续回车的替换成一个特殊文字,然后把一个回车的替换成空字符串,再把特殊文字替换回二个回车,搞定。
adrianzhang
1 天前
@june4 用 Word 是这么整理的。但是 Linux 下怎么干呢?
june4
1 天前
我以前写过一个,找了下还在 注意这里我转的文件都是\r\n 换行的,你看你的情况可能要改一下

#!/usr/bin/node
const assert = require('node:assert/strict')
const fs = require('node:fs')
const filename = process.argv[2]
assert(filename, 'Missing filename arg')
console.log('=> Filename:', filename)

const TMP_LINE = '{{TMP_LINE}}'
let content = fs.readFileSync(filename, 'utf-8')
content = content.replaceAll(/\r\n\r\n/g, TMP_LINE + TMP_LINE)
content = content.replaceAll(/\r\n/g, '')
content = content.replaceAll(TMP_LINE, '\n')
fs.writeFileSync(filename + '.joined', content)
saranz
1 天前
这个不就是找到 \n \r 然后删除的事嘛,就是用 shell 都能办的事。
adrianzhang
1 天前
@june4 #11 谢谢!我试试看。
adrianzhang
1 天前
@saranz #12 不一定啊,也许有\n\n 等等各种情况。
LaTero
1 天前
把不是紧跟着标点符号的\n 删掉试试
adrianzhang
1 天前
@LaTero #15 是个挺好的思路。
caomu
1 天前
可以搜索一下 文本格式化工具 / text format ,有很多现成的工具
TigerK
1 天前
为什么不让神奇的 AI 替你整理呢?
adrianzhang
1 天前
@caomu #17 太好了!原来这个关键字。非常感谢!
adrianzhang
1 天前
@TigerK #18 因为需要批量处理,所以问 AI 也是问程序怎么写,可是我连关键字都不知道,17 楼刚给出来。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1078057

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX