请教文本文件批量处理问题

发布于 2022-08-29 20:05:40 字数 327 浏览 9 评论 0

现在有三十几个文本文件,每个一千多行,有用内容是两个区块,每个区块是三列数字。

1.删除 1-21行
2.保留 22-822行 (记为A区块,3列数字,由tab分割)
3.删除 823-828行
4.保留 829-1629行 (记为B区块,3列数字,由tab分割)
5.将 B区块的第2列 替换掉 A区块的第3列,然后删除B区块

其实就是选取A区块的1、2列和B区块的第2列合并为一个新区块,导出文本文件。

原来只有一两个文本文件的时候都是用 sublime text 手动处理的,现在文件比较多,也不会 awk,sed 什么的,求云游大侠给个脚本!谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸠魁 2022-09-05 20:05:40

如果使用 bash,需要假定你的文件名里没有空格等特殊字符。如果使用 zsh 则无妨。

cd 你的文件所在目录
mkdir -p ../output
for f in *; do
  paste <(sed -n 22,822p "$f"|cut -f1,2) <(sed -n 829,1629p "$f"|cut -f2) > ../output/"$(basename "$f")"
done

生成的文件在上一级 output 目录。

淡淡離愁欲言轉身 2022-09-05 20:05:40

建议自己写脚本。使用你熟悉的脚本语言php shell python 等等。
如果经常需要完成类似任务, 还可以进一步把脚本封装成工具。通过这个过程提高自己

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文