Questions tagged «text-processing»

通过程序,脚本等操作或检查文本

3
通过bash脚本编辑配置文件
我一直在尝试编写一个简单的bash脚本,该脚本将用于安装应用程序并更新其配置文件。我很难修改它的配置文件。 # DBHost=localhost DBName=test # DBPassword= 有什么建议可以使我得到如下修改吗​​? DBHost=localhost DBName=database DBPassword=password

2
使用Python Shebang查找所有文件
我正在尝试对大型源代码树执行PEP8检查。该树由各种语言的文件混合而成。这个想法是检查所有Python脚本而不必显式列出它们。这些文件中的大多数实际上没有.py扩展名。有没有一种简单的方法可以在shebang中找到带有单词Python的所有文件,或者找到在执行时将与Python一起运行的所有文件?

4
如何在给定文件(多个)中删除行尾的空白?
我已经厌倦了源文件中无用的空间,甚至已经配置了vim来显示它们。 问题是我经常(如果不是总是)不得不与我的同伴开发人员一起处理无用的空间。 我只想扫描源文件(使用正则表达式)并从所有给定文件中删除空格。 我已经在网上搜索(“删除空格删除”等),但找不到有用的东西。

6
从模板创建文本文件的工具
我必须定期从模板创建100多个文本文件。 我目前使用一个过于复杂的shell脚本。我认为有一种更聪明的方式来处理此问题,但我不知道如何。 我有一个“数据库”: # outputfile template data1 data2 data3 first.txt $template_main $text1 abcd 1234 second.txt $template_main $text2 efgh 5678 third.txt $template_other $text1 ij 90 和一个配置文件: template_main=main.txt template_other=other.txt text1=whatever text2=blah 模板是带有占位符(如%% data2 %%)的文本文件(可以更改占位符形式)。 有人知道有什么工具可以比复杂的Shell脚本更好地实现此目的吗?

3
如何用纯UTF-8文本替换所有百分比编码的UTF-8子字符串?
我有一个HTML文件,URL中包含许多%编码的UTF-8文本。 例如,“%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B”代表“ресурсы”(俄语中的“资源”)。 任务是用可读的UTF-8文本替换所有此类子字符串。 为了简化任务,我们可以考虑%文件中没有其他符号使用。字母数字可以是大写和小写。 我怀疑这可以用优雅来完成sed,perl,awk或东西,但不知道怎么办。 该Web应用程序似乎可以解决您粘贴到此处的文本的问题。

5
如何计算bash中第一个字段排序的行
这是INPUT的摘录: ... #################### Bala Bela;XXXXXX12345;XXXXXX12345678;A SERVER345Z3.DOMAIN.com0 SERVER346Z3.DOMAIN.com0 SERVER347Z3.DOMAIN.com0 SERVER348Z3.DOMAIN.com0 ssh-dss ...pubkeyhere... #################### Ize Jova;XXXXXX12345;XXXXXX12345;A SERVER342Z3.DOMAIN.com0 SERVER343Z3.DOMAIN.com0 SERVER345Z3.DOMAIN.com0 ssh-rsa ...pubkeyhere... ... 这是我需要的输出片段: Bala Bela;XXXXXX12345;XXXXXX12345678;A 4 Ize Jova;XXXXXX12345;XXXXXX12345;A 3 因此,我需要从INPUT输出,以便可以看到以“ SERVER”开头的行分配给给定用户(例如:“ Bala Bela; XXXXXX12345; XXXXXX12345678; A”)。我该如何在bash中做到这一点?

4
UNIX工具箱中是否有任何(基于文本的)绘图工具?
我想知道unix工具箱中是否有任何通用的绘图工具? 通过绘制,我的意思是简单的条形或在许多基于curses的实用程序中看到的东西。 通过Unix工具箱,我的意思是,您可以使用标准的Unix约定将数据传送到其中。 我需要计算日志文件中的某物(我正在监视的tail -F东西)并绘制事物的实时比率(例如百分比错误或警告)。

2
使用命令行实用程序在UNIX中解析XML,JSON和较新的数据文件格式
Unix环境中有一些出色的工具可以解析各种形式的文本。但是,最近,数据不再是以前的传统(历史)格式(CSV,TSV,基于记录或基于其他分隔符的格式)。这些天的数据以XML / JSON之类的结构化格式进行交换。 我知道有一些很好的工具,例如sed,awk和Perl,它们可以减少几乎任何形式的数据。但是,要使用这种结构化数据,通常必须编写一个完整的程序,并且由于提取信息的时间很少,因此必须坐下来弄清楚要查询和放置的内容的整个逻辑。以编程方式将其关闭。有时这还不行–基本上是因为从这些文件中提取的信息充当了进一步工作的输入;还因为搜索适当的解决方案并将其编码所需的时间。需要具有足够开关的命令行工具来查找,查询和转储数据。 我正在寻找采用XML / JSON或其他形式的结构化数据并将其转储为csv等其他格式的工具,以便从那里可以使用其他命令从中获取任何信息。 您知道有哪些命令行实用程序可以完成这种工作吗?已经有可用的awk / Perl脚本了吗?

3
用命令的输出做两件事
我有一个程序texcount可以输出LaTeX文档中的单词数。我还可以通过管道输出,sed以制作换行符TeX换行符,并将其写入文件,然后将其包含在最终文档中。但是,当我执行时texcount foo.tex | sed s/$/'\\\\'/ > wc.tex,命令行输出texcount被抑制。 如何获得第一个命令的输出以显示在终端中并通过管道传输到sed?

3
如何从文件末尾删除最后一个逗号分隔符?
如何在Linux上的文件中删除最后一个逗号分隔符? 文件示例: "is_supported_kafka_ranger" : "true", "kafka_log_dir" : "/var/log/kafka", "kafka_pid_dir" : "/var/run/kafka", "kafka_user" : "kafka", "kafka_user_nofile_limit" : "128000", "kafka_user_nproc_limit" : "65536", 预期成绩: "is_supported_kafka_ranger" : "true", "kafka_log_dir" : "/var/log/kafka", "kafka_pid_dir" : "/var/run/kafka", "kafka_user" : "kafka", "kafka_user_nofile_limit" : "128000", "kafka_user_nproc_limit" : "65536"

4
如何在许多大文件中找到重复的行?
我有约3万个文件。每个文件包含约10万行。一行不包含空格。单个文件中的行已排序并免费重复。 我的目标:我想找到两个或多个文件中所有重复的行,以及包含重复条目的文件的名称。 一个简单的解决方案是: cat *.words | sort | uniq -c | grep -v -F '1 ' 然后我会运行: grep 'duplicated entry' *.words 您看到更有效的方法了吗?

4
文件中的grep单词,然后复制文件
我有一组文件(* .zip,*。txt,*。tar.gz,*。doc,... etc)。这些文件位于路径中。我想查找所有文件(* .txt),然后仅复制包含特定单词的文本文件(例如LINUX / UNIX)。 我执行以下操作: find . -name "*.txt" | grep 'LINUX/UNIX' 该命令能够找到所有文本文件,然后“ grep”通过仅列出包含“ LINUX / UNIX”的文本文件来过滤生成的文本文件。 如何将这些最终文件(即包含“ LINUX / UNIX”的文本文件)复制到特定的选择路径? 我试图申请 xargs find . -name "*.txt" | grep 'LINUX/UNIX' | xargs cp <to a path> 但这没用

2
使用awk处理3个文件
考虑以下文件: file1: boo,8,1024 foo,7,2048 file2: foo,0,24,154 noo,0,10,561 file3: 24,154,7,1024,0 我需要转到File1并检查是否$2==7;如果为true,则从File1中获取$1,$2并$3从File1中获取;现在我必须比较$1从File1等于$1从File2;如果是真的,我不得不采取$3并$4从文件2,其不存在于文件1,那么我必须去文件3,检查是否$1从文件3等于$3从文件2,并$2从文件3等于$4从文件2 ; 如果是,那么我必须检查是否$2来自File1等于$3从文件3,那么如果这种情况是真的,我有比较$3从File1中有$4来自文件3,如果$3从文件1大于$4从文件3。 我尝试了以下脚本: cat [file1] [file2] [file3] | awk -F, '{if(NF==3) {if($2==7){a[$1]=$1; b[$1]=$2; c[$1]=$3} }else {if(NF==4){if(a[$1]==$1){d[$3]=$3; e[$4]=$4} }else {if(NF==5){if(d[$1]==$1 && e[$2]==$2){print a[$1], b[$1], c[$1], d[$1]}} } } }' 所需的输出是: foo,7,2048,24,154,1024

1
随机播放两个并行文本文件
我有两个句子对齐的并行语料库(文本文件),带有大约5000万个单词。(来自Europarl语料库->法律文件的并行翻译)。我现在想对两个文件的行进行混排,但是两者都以相同的方式进行。我想通过一个唯一的随机源使用gshuf(我在Mac上)来解决这个问题。 gshuf --random-source /path/to/some/random/data file1 gshuf --random-source /path/to/some/random/data file2 但是我收到了错误消息end of file,因为显然随机种子需要包含要排序的文件包含的所有单词。真的吗?如果是,我应该如何创建满足自己需求的随机种子?如果没有,我还可以通过其他什么方式并行地随机分配文件?我考虑过将它们粘贴在一起,随机化然后再分裂。但是,这似乎很难看,因为我首先需要找到文件中没有的定界符。

7
在保留减号的同时删除某些列中的数值?
我有以下数据框,该数据框仅在奇数列中以负数无限地水平和垂直地继续: -1 2 3 4 -5 9 2 3 -4 5 -6 11 我想要第二,第四和第六完整列(或每个偶数列),而负号仅来自第一,第三和第五(或每个奇数列),所以我得到了: - 2 4 - 9 3 - 5 - 11 最终结果如下: -2 4 -9 3 -5 -11 因此,我需要不改变偶数列和奇数列的值,如果有一个负值,则保留-仅值,如果有一个正值,则将其丢弃。 有没有办法用awk / sed做到这一点? 据我所知,这是差不多的了: awk '{ for (i=2;i<=NF;i+=2) $i="" }1' FILE.txt | sed 's/[0-9,.]*//g'

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.