Questions tagged «text-processing»

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


5
awk sed if语句
如果有“。”,我尝试将0开头。在该行的第二个字符处。我无法将两者结合起来。 awk '{ print substr( $0, 2, 1 ) }' file.txt 显示第二个字符 sed -ie "s/.\{0\}/0/" file.txt 在开头添加零。 应该有一个“如果第二个字符是一个点”。 样本文件: 1.02.2017 23:40:00 10.02.2017 23:40:00 最后: 01.02.2017 23:40:00 10.02.2017 23:40:00

1
如何获取第n列包含第m列的行
我有一个包含域和网络邮件的CSV文件,如下所示: site1.com,mail.site1.com site2.com,testmail.com site3.com,mx.site3.com site4.com,smtp.site4.com site5.com,foomail.com site6.com,barmail.com site7.com,webmail.site7.com site8.com,01mx.site8.com site9.com,foobarmail.com site10.com,mx-smtp222.site10.com 我想获取其中webmails列包含同一行的domains列的行。对于上面的示例,输出应为: site1.com,mail.site1.com site3.com,mx.site3.com site4.com,smtp.site4.com site7.com,webmail.site7.com site8.com,01mx.site8.com site10.com,mx-smtp222.site10.com

4
如何为AWK /…替换开始的行增加计数器?
我最初考虑过SED(sed "s/^/COUNTER \&/" /tmp/1.tex),但是它是为单行设计的,我无法通过sed来增加计数器本身,所以现在考虑awk一下gawk,因为我在集成方法方面有丰富的经验。数据 What & South Dragon & North Dragon & 5 \\ \hline What & South Dragon & North Dragon & 5 \\ \hline What & South Dragon & North Dragon & 5 \\ \hline 预期产量 1 & What & South Dragon & North Dragon & 5 \\ …

5
使用sed / awk / grep命令编辑txt文件中的值
五年来,我使用气象站La Crosse WS2350。气象站提供的数据在RPI上使用open2300处理。这很好。但是,温度数据是错误的(传感器)。温度数据低1°C。 由于无法校准传感器,因此我想更改从气象站提取的文件中的温度值。 此文本文件(current.txt)包含: Date 2016-Dec-03 Time 10:30:29 Ti 11.9 Timin 11.6 Timax 27.7 TTin 10:34 DTimin 2016-01-19 TTimax 00:44 DTimax 2016-08-28 To -2.4 Tomin -4.8 Tomax 37.4 TTomin 06:46 DTomin 2016-02-18 TTomax 16:13 DTomax 2016-07-19 ... 我想为值“ To”,“ Tomin”,“ Tomax”添加+1,并用正确的值覆盖文本文件。 看完sed和awk命令后,我意识到自己已经过时了。谁能指导我?谢谢 编辑: 我忘记了另一个文件:ws2308.log每15分钟将新行添加到文件ws2308.log中: ... 20161203150600 2016-Dec-03 15:06:00 11.8 …


4
关于awk的问题
好的,因为这是一个复杂的问题,所以我将对其进行清楚的解释。我得到的文件内容如下所示: $ Cat File1 ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {MNB} ABC Cool Lol POP {TBMKF} ABC Cool Lol POP {YUKER} ABC Cool Lol POP {EFEFVD} 我想要的输出 -Cool MNB + POP ; -Cool MNB + POP ; -Cool MNB + POP ; …

3
用一个空格替换句子结尾后两个空格的所有出现
我陷入了sed命令包含正则表达式的困境。 问:我想用一个空格代替句子结尾后两个空格的所有出现。 这是我所做的: sed 's/^ $/^$/' file 句子结束后,它没有用一个空格代替两个空格。 我得到的输出: This is the output. Hello Hello 我想要的输出: This is the output. Hello Hello

7
grep来自file2的确切行块(file1的内容)
我有两个文件,file1和file2。 的样本内容file1是: A B C D E F G H 的内容file2如下: A B few other lines E F few more other lines A B C D E F G H few more other lines G H 因此,我只想搜索整个file1内容块file2。这意味着输出应仅包含以下行: A B C D E F G H 请注意:-只有合并在一起的行才应该是输出的一部分。

3
如何用sed替换多行代码?
我有一个很大的文件,里面有特殊字符。那里有一个多行代码,我想替换为sed。 这个: text = "\ ------ ------\n\n\ This message was automatically generated by email software\n\ The delivery of your message has not been affected.\n\n\ ------ ------\n\n" 需要变成这样: text = "" 我尝试了以下代码,但没有运气: sed -i '/ text = "*/ {N; s/ text = .*affected.\./ text = ""/g}' /etc/exim.conf 它不会替换任何东西,也不显示任何错误消息 我一直在玩它,但是我尝试的所有方法都不起作用。

5
如何将文件中的行按2分组?
我有一个这样的文本文件: a b c d e f g 我如何将这些行分组以获得这样的输出: a-b b-c c-d d-e e-f f-g 我必须在shell(sh,csh,bash)中执行此操作。 我发现了这一点: cat file | xargs -n2 但第一组的最后一个元素没有成为第二个的第一个。

5
查找多个文件中字符串的最后一次出现
我需要搜索多个日志文件(过去24小时内生成的所有文件,都保存在同一目录中)以查找字符串的最后一次出现。这是我写的命令: find . -mtime 1 | grep fileprefix | xargs grep 'search string' | tail -1 但这仅返回一个文件的最后一行。关于如何调整所有线条的任何建议?

5
Shell脚本:在文本中间(有时在开头)抓取字符串
我有一个很大的文本文件,其中的一部分看起来像这样(编辑后的值): JULIANA XXXX006060 LI1033322 THC BRL 730.00 XXXX006296 AA1004737 THC BRL 1,740.00 SANTOS JULIANA XXXX006668 AA1004786 THC BRL 8,150.00 SANTOS JULIANA CABINDA XXXX006697 AA1004777 THC BRL 2,325.00 SANTOS JULIANA XXXX006699 AA1004790 THC BRL 2,325.00 JULIANA BATA XXXX006141 CCC012946 THC BRL 1,460.00 JULIANA BATA XXXX006153 CCC013054 THC BRL 870.00 JULIANA XXXX006269 …

5
合并两个文件中的备用行
文件1: .tid.setnr := 1123 .tid.setnr := 3345 .tid.setnr := 5431 .tid.setnr := 89323 文件2: .tid.info := 12 .tid.info := 3 .tid.info := 44 .tid.info := 60 输出文件: .tid.info := 12 .tid.setnr := 1123 .tid.info := 3 .tid.setnr := 3345 .tid.info := 44 .tid.setnr := 5431 .tid.info := 60 .tid.setnr := …

7
如何在不分割多行记录的情况下有效地分割大型文本文件?
我有一个大的文本文件(gz'ed时为〜50Gb)。该文件包含4*N行或N记录;即每条记录由4行组成。我想将此文件拆分为4个较小的文件,每个文件的大小约为输入文件的25%。如何在记录边界分割文件? 天真的方法是zcat file | wc -l获取行数,将其除以4,然后使用split -l <number> file。但是,这会翻遍文件两次,并且行计数非常慢(36分钟)。有没有更好的办法? 这很接近,但不是我想要的。接受的答案也会进行行计数。 编辑: 该文件包含fastq格式的测序数据。两条记录如下所示(匿名): @NxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGCGA+ATAGAGAG xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTTTATGTTTTTAATTAATTCTGTTTCCTCAGATTGATGATGAAGTTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + AAAAA#FFFFFFFFFFFFAFFFFF#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF<AFFFFFFFFFFAFFFFFFFFFFFFFFFFFFF<FFFFFFFFFAFFFAFFAFFAFFFFFFFFAFFFFFFAAFFF<FAFAFFFFA @NxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxGCGA+ATAGAGAG xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCCCTCTGCTGGAACTGACACGCAGACATTCAGCGGCTCCGCCGCCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + AAAAA#FFFFF7FFFFFFAFFFFA#F7FFFFFFFFF7FFFFFAF<FFFFFFFFFFFFFFAFFF.F.FFFFF.FAFFF.FFFFFFFFFFFFFF.)F.FFA))FFF7)F7F<.FFFF.FFF7FF<.FFA<7FA.<.7FF.FFFAFF 每条记录的第一行以开头@。 编辑2: zcat file > /dev/null 需要31分钟。 EDIT3: Onlye第一行以开头@。其他任何人都不会。看这里。记录需要保持秩序。向结果文件中添加任何内容都是不正确的。

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.