Questions tagged «text-processing»

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

5
第n次匹配后打印行
我希望在以下文件中显示第4598行。实际上,我想在第n次匹配后显示该行。在这种情况下,第三次出现的行<Car>。我该怎么办? <Car> 10456 </Car> <Car> 70192 </Car> <Car> 4598 </Car>

6
文件中段落的相反顺序
我有一个在段落中包含文本的文件(文本行由一个或多个空行分隔)。我想反转段落的顺序(即最后一段将成为第一段,...),最好使用sed。 我正在寻找一个sed命令,该命令对段落tac文件有效,对行文件有效。

4
将CSV转换为HTML表
我有一个Medical.csv文件,其行格式如下, field: 'participation.type', displayName: 'program_type', type: 'String',path:'participation' field: 'participation.program', displayName: 'program_name', type: 'String',path:'participation' 我想编写一个bash脚本,以将其动态转换为HTML表field,displayName并type作为标题。 将Csv2HtmlConverter.sh(通过在回答灵感转换CSV HTML表格使用到)是 echo "<table>" ; while read INPUT ; do echo "<tr><td>${INPUT//,/</td><td>}</td></tr>" ; done < Medical.csv ; echo "</table>" 对于上面的脚本的结果如下这是罚款,在一定程度上,但我想补充<th>field</th>,<th>displayName</th>动态。 <table> <tr><td>field: 'participation.type'</td><td> displayName: 'program_type'</td><td> type: 'String'</td><td>path:'participation'</td></tr> <tr><td>field: 'participation.program'</td><td> displayName: 'program_name'</td><td> type: 'String'</td><td>path:'participation'</td></tr> </table>

3
从一行中提取不带定界符的固定宽度记录
我需要从单个文件中提取文本字符串,该文件包含一行很长的文本,没有定界符。使用下面的示例行,这些是以下已知事实: ??????? A1XXXXXXXXXX ??????? B1XXXX ??????? A1XXXXXXXXXX ??????? C1XXXXXXX 1. It contains 38 fixed width record types 2. The record marker is a 7 alphanumeric character followed by, for example, ‘A1’. 3. Each record type has varying widths, for example, A1 record type will have 10 characters following it, if …

2
通过排除第二个和第三个文件中的标头,将三个文件合并到一个主文件中
我有三个文件,行数为n,如下所示 sample1.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 12:09:09 Krish 2013/10/12 13:12:01 Ramb 2013/10/12 15:28:39 Likha 2013/10/12 15:56:12 Mat . . . Sample2.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 11:19:21 Jack 2013/10/12 12:11:09 Rob 2013/10/12 15:45:12 Rick 2013/10/12 22:11:10 Phil . . . Sample3.txt ------------------------------ Date Time Name ------------------------------ 2013/10/12 …

2
grep比赛前一行加上比赛
zzzzzzzzz aaaaaaaaa bbbbbbbbb & ccccccccc & ddddddddd hhhhhhhhh eeeeeeeee fffffffff & ggggggggg & 在上面的行中,我想要的是grep/ sed/ awk(任何方法都可以)行上有&符号加一行的符号。因此,例如,所需的输出将如下所示: aaaaaaaaa bbbbbbbbb & ccccccccc & eeeeeeeee fffffffff & ggggggggg & 以下是我没有运气尝试过的。 egrep "&" | -b 1 file.txt


2
如何使用Bash在二进制文件中查找2个字节,增加它们的值并替换?
我试图在二进制文件中找到两个字节,然后增加这两个字节的值并将其替换为文件中的字节。这两个字节位于位置0x82-0x83上。现在,我已经使用此命令成功提取了这两个字节: #!/usr/bin/env bash BYTES=$(tail -c +131 "$1" | head -c 2) 这些字节的值是:1B 1F。我坚持: 如何将字节转换为整数?应该是6943十进制。 如何将二进制数据附加/回显到文件 如何在位置0x82-0x83的文件内写入增加的字节。我可以使用head -c 130 original.bin >> new_file.bin && magic_command_writing_bytes_to_file >> new_file.bin && tail -c +133 original.bin,但是必须有更好的方法。 我可以用PHP做到这一点,应该会更容易,但是我对如何在bash中做到这一点感兴趣。

5
连续段落的分组排序(由空行分隔)?
我认为我现在在按列排序方面很有经验;但是,到目前为止,我还没有找到如何对连续行进行排序的任何方法。 假设我们有一个文本文件,如下所示:(当然,非常简化) Echo Alpha Delta Charlie Golf Bravo Hotel Foxtrot 现在,是否可以对每个块分别按字母数字顺序对行进行排序?我的意思是说,结果是这样的: Alpha Charlie Delta Echo Bravo Foxtrot Golf Hotel 从我在sort手册页中找到的内容来看,使用内置的UNIX sort命令可能无法做到这一点。还是可以不必借助外部/第三方工具来完成?

2
bash:着色输出的第二列
假设,我从ls获得以下输出: $ ls -lAhF /bin -rwxr-xr-x 1 root root 905K Apr 10 2010 bash* -rwxr-xr-x 3 root root 31K Dec 26 2011 bunzip2* -rwxr-xr-x 1 root root 505K Nov 15 2010 busybox* -rwxr-xr-x 3 root root 31K Dec 26 2011 bzcat* lrwxrwxrwx 1 root root 6 Jun 24 2012 bzcmp …

4
如何使用SED或AWK将模板文件中的占位符替换为包含特殊字符的可变内容?
CentOS的6.3 我正在尝试获取一个小脚本,以发送包含正文中电子邮件标头副本的电子邮件(用于内部报告)。 模板文件包含以下内容: Alert Report Alert has triggered at TMPDATE HEADERS ------- TMPHEADERS SOURCE IP --------- TMPSOURCEIP 我希望我的脚本查找和替换与警报有关的实际信息“ TMP”占位符。 日期和源IP变量似乎工作正常,但是如果/当我尝试查找/替换TMPHEADERS时,它将导致奇怪的症状,包括整个输出为空。我可以肯定地说,这与包含许多特殊字符(@%&等)的标头有关。 有人可以建议如何最好地通过bash做到这一点吗? 我当前的代码如下所示: cat /test/emailtemplate | sed s/TMPHEADERS/"$HEADERS"/ > /test/output 更新 根据请求,这是我尝试插入模板文件的一组示例头(IP地址和电子邮件地址已更改,以保护无辜的:-)): From foo@yahoo.com Thu Apr 25 20:18:19 2013 Return-Path: <foo@yahoo.com> Received: from nm30-vm0.bullet.mail.ne1.yahoo.com (nm30-vm0.bullet.mail.ne1.yahoo.com [98.138.11.36]) by serv.example.com (8.14.4/8.14.4) with ESMTP …

5
从命令行删除每行的第一个和最后一个字符
我正在尝试在文本文件中删除每行的第一个和最后一个字符,并将截断的版本保存在新文件中。是否有人对使用awk大型文件专用的Linux程序或命令有效地做到这一点? input.txt (s,2,4,5,6) "s,1,5,5,2" {z,0,4,5,3} [y,2,4,5,5] (y,4,4,5,7) (r,20,4,5,7) (e,9,4,5,2) 预期的output.txt s,2,4,5,6 s,1,5,5,2 z,0,4,5,3 y,2,4,5,5 y,4,4,5,79 r,20,4,5,7 e,9,4,5,2

7
查看.tex文件中的更改
我有两个文件paper.tex,paper_suggested_changes.tex后者是前者的修正版本,带有更正。 我需要浏览两个文件,然后选择接受或拒绝哪些更改,我将如何处理?


2
用于连接两个文件的shell脚本
我想编写一个shell script获取两个文件A和的文件B,并得到如下结果: 档案A: user_a tel_a addr_a user_b tel_b addr_b 档案B: process_1 user_a process_2 user_a process_3 user_b 结果: user_a process_1 tel_a addr_a user_a process_2 tel_a addr_a user_b process_3 tel_b addr_b 我怎样才能做到这一点?awk或者是其他东西?

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.