加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

用于文本/字符串处理的Java库,与unix / linux实用程序类似

发布时间:2020-12-15 00:49:35 所属栏目:Java 来源:网络整理
导读:我是一名 java程序员.我经常使用bash脚本进行文本处理. grep,sed,awk,tr,wc,find等实用程序以及命令之间的管道提供了如此强大的组合. 但是,bash编程缺乏可移植性,可测试性以及Java中存在的更优雅的编程结构.它还使得集成到我们的其他Java产品中变得更加困难.
我是一名 java程序员.我经常使用bash脚本进行文本处理.

grep,sed,awk,tr,wc,find等实用程序以及命令之间的管道提供了如此强大的组合.

但是,bash编程缺乏可移植性,可测试性以及Java中存在的更优雅的编程结构.它还使得集成到我们的其他Java产品中变得更加困难.

我想知道是否有人知道任何可能提供我正在寻找的Java文本处理库.

能够写下来真是太酷了:

Text.createFromFile("blah.txt).grep("-v","ERROR.*").sed("s/ERROR/blah/g").awk("print $1").writeTo("output.txt")

这可能是天上掉馅饼的东西.但是我想我无论如何都要提出这个问题.

解决方法

Unix4j实现了一些基本的unix命令,主要集中在文本处理上(支持命令之间的管道): http://www.unix4j.org

示例(Ben的示例,但没有awk,因为目前不支持):

Unix4j.fromStrings("1:here is no error","2:ERRORS everywhere","3:another ERROR","4:nothing").toFile("blah.txt");
Unix4j.fromFile("blah.txt").grep(Grep.Options.v,"ERROR.*").sed("s/ERROR/blah/g").toFile("output.txt");     
Unix4j.fromFile("output.txt").toStdOut();       

>>>
1:here is no error
4:nothing

注意:

>该问题的作者参与了unix4j项目

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读