Board logo

标题: [文本处理] 请高手解答:批处理文本行指定字符移动到该行行首的问题? [打印本页]

作者: a627172001    时间: 2020-11-14 12:08     标题: 请高手解答:批处理文本行指定字符移动到该行行首的问题?

现在有大量的txt文件,须要找到指定关键词所在行,然后将关键词移动到该行行首。或者在该行行首加入特定字符也行。如:
原始行内容:12345.exe
现在我要查找到.exe,然后将它移动到前面,使这行变成.exe12345
或者在该行前面添加XXXXX,使其变成XXXXX12345.exe

我的最终目的:是要根据这个字符来分割文件。如果直接按字符.exe分割,那12345势必会被分割到前一个文件里去。但是,实际这个12345是后一个文件的标题。所以只能把分割符.exe提到行首再分割。或者在行首加特定字符再分割。

以上功能任意实现一个即可。望高手解答。当然,有知道可以实现的小工具也可以。我已经找了两天了,找不到答案。
作者: qixiaobin0715    时间: 2020-11-14 14:08

疑问一:为什么要将“关键词”移到行首呢?找到关键词不就行啦!
疑问二:批处理就可分割文件,加个判断,可按要求是分割到前个文件还是后一个文件。没必要进行重复性的工作。可将查找关键词和分割文件同步进行。
作者: Batcher    时间: 2020-11-14 21:41

回复 1# a627172001


推荐试试 sed.exe 命令行工具:
http://bcn.bathome.net/s/tool/index.html?key=sed
  1. sed -i "/\.exe/ s/^/XXXXX/" "*.txt"
复制代码

作者: qixiaobin0715    时间: 2020-11-16 08:26

本帖最后由 qixiaobin0715 于 2020-11-16 08:28 编辑

回复 1# a627172001
我以前也有过分割文件的需求,有现成的分割文本的bat,能实现你的“最终目的”,最好发个样本文件上来,好根据你的文本的具体情况进行修改。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2