Questions tagged «text-processing»

有关修改,创建或解析纯文本文件的问题。这是一个非常广泛的标签,如果您的问题是有关使用特定工具的,请同时使用该工具的名称(例如sed,awk,perl等)进行标记。

6
如何从文件中随机替换文本?
如何将一个文本文件中的特定字符串随机替换为另一文件中的字符串?例如: file1.txt(file has more than 200 lines): moonwalker@address.com hansolo@address.com anakinskywalker@address.com obiwankenobi@address.com darthvader@address.com file2.txt(file has 10-20 lines): @adress1.com @adress2.com @adress3.com @adress4.com @adress5.com output.txt: moonwalker@address4.com hansolo@address1.com anakinskywalker@address5.com obiwankenobi@address2.com darthvader@address3.com

4
在一个文件中查找不在另一个文件中的ID
我有两个文件: abc.txt abcd xyz pqrs mno.txt zzon mkno abcd 我想检查文件mno.txt中是否有“ abcd” 。 如果“ abcd”在abc.txt中排在首位,则也不必在mno.txt中排在首位。 两个文件中都有数千个这样的ID。 我还想检查mno.txt中有多少id不在abc.txt中。 我怎样才能做到这一点 ?

1
如何通过比较两个文件来grep相同的字符串
我有两个文件A和B 文件A包含所有信息,而文件B包含唯一的信息ID。我想要做的是比较两个文件,并从文件A中获取grep的ID信息 档案A: acb:A1S_1863 ncbi-proteinid:ABO12290 acb:A1S_1864 ncbi-proteinid:ABO12291 acb:A1S_1865 ncbi-proteinid:ABO12292 acb:A1S_0105 ncbi-proteinid:ABO10592 acb:A1S_0106 ncbi-proteinid:ABO10593 文件B: A1S_1865 A1S_1774 A1S_1116 A1S_0106 A1S_2677 所需的输出: acb:A1S_1865 ncbi-proteinid:ABO12292 acb:A1S_0106 ncbi-proteinid:ABO10593

2
如何用文件中的单个单词替换多行(替换)?
我的filename文件内容如下(例如): My block of line starts from here START First line second line third line END and end to here for example. 我想,以取代之间的行块START,并END只用一个词,例如用SINGLEWORD。如下所示: My block of line starts from here SINGLEWORD and end to here for example. 我可以使用以下命令找到我的代码行: grep -Pzo "START(.|\n)*END" filename 运行上述命令的结果将是这样的: START First line second line third line …

3
替换sed中的点(。)
因此,实际的问题是-有谁知道如何删除M-BM-特殊字符而不冒失去其他字符的危险? 我有一串文字: " . . ." 那是 space dot space dot space dot 我正在尝试将文本文件中所有出现的字符串替换为 "..." 那是 dot dot dot 我正在尝试使用sed: sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots 不幸的是,它一点也不改变输入文件。文件:https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots 当我尝试在文本编辑器中替换相同的字符串(我使用geany)时,找到并正确替换了它。 我能想到的唯一原因是这些空间中的某些(或全部)不是真正的空间,而是某些特殊字符。 有谁知道如何用sed(或任何其他命令行工具)查找和替换该字符串?请在我的文件上测试您的想法,因为问题并不像看起来的那么明显-这就是为什么我问这个问题。 使用cat -Amyfile之后,似乎这些空间不是空格而是M-BM-特殊字符的问题。.建议使用任何建议的符号进行搜索不是一个好主意,因为可能会删除某些其他字符。


5
使用bash获取路径字符串的一个元素
我有一个包含通过运行读取的文件路径的ASCII文件: while read p; do echo $p; done < filelist.txt 该文件包含具有以下模式的文件路径: ./first/example1/path ./second/example1/path ./third/example2/path 如何获取路径字符串的特定部分(从/到/),例如,我需要获取打印的输出: first second third 并且 example1 example1 example2 我敢肯定有一种使用正则表达式和进行此操作的方法sed,但是我对此并不熟悉。

6
从txt文件中使用包含“ /”字符的名称创建目录
我有一个.txt文件,其中包含这样的文本 A1/B1/C1 A2/B2/C2 A3/B3/C3 我想要一个脚本,该脚本读取每一行的.txt文件,然后根据第一个单词(A1,A2,A3)创建目录 我创建了这样的脚本: file="test.txt" while IFS='' read -r line do name="line" mkdir -p $line done <"$file" 在运行它时,它将创建目录A1,然后还将创建子目录B1和C1。另一行(A2 *和A3 *)也是如此 我应该怎么做才能仅创建A1,A2,A3目录? 我不想用像A1 / B1 / C1这样的名字加上'/'字符。我只想在“ /”字符前加上单词,并使其成为目录名。只是“ A1”,“ A2”,“ A3”。

2
将grep输出限制为短行
我经常使用grep查找具有特定条目的文件,如下所示: grep -R 'MyClassName' 好消息是它返回文件及其内容,并将找到的字符串标记为红色。不好的是,我还有很大的文件,整个文本都写在一个大的单行中。现在,在这些大文件中查找文本时,grep输出过多。有没有一种方法可以将输出限制为例如左右两个单词?还是将输出限制为左右30个字母?

4
如何提取出现在同一文本文件中不同行上的多个信息位
我正在尝试提取同一文本文件内不同行上出现的序列ID和簇号。 输入看起来像 >Cluster 72 0 319aa, >O311_01007... * >Cluster 73 0 318aa, >1494_00753... * 1 318aa, >1621_00002... at 99.69% 2 318aa, >1622_00575... at 99.37% 3 318aa, >1633_00422... at 99.37% 4 318aa, >O136_00307... at 99.69% >Cluster 74 0 318aa, >O139_01028... * 1 318aa, >O142_00961... at 99.69% >Cluster 75 0 318aa, >O300_00856... …

1
如何监视无线信号的电平和频率并将其记录为csv格式?
我想iw dev wlan0 link每秒连续运行命令并将输出保存到csv文件中。 我正在使用以下命令: while sleep 1; do iw dev wlan0 link | grep 'freq:\|signal' | awk '{printf "%s ", $2, $3}' >> log.csv done 但是输出log.csv以以下方式保存: 2412 -41 2412 -42 2412 -45 2412 -43 我希望以两种方式用逗号分隔输出的方式保存输出(因此它们将显示在MS Excel等编辑器的单独列中),并且每行都换一个新行。的log.csv外观如下(您可以忽略标签,它们仅用于解释): Signal Frequency -41 2412 -42 2412 -45 2412 -43 2412



2
浏览文件并从特定行打印文本
我有一个保存数据的文件。现在,我想将结果打印到一个新文件中。 例如,让我们来看这个例子randomlog.log: Link encap:Ethernet HWaddr 08:00:00:00:00:67 inet addr:10.10.10.10 Bcast:10.10.10.10 Mask:255.255.255.0 inet6 addr: fe80::casf:sdfg:23ra:dg12/64 Scope:Link 如何仅从第一行的第12到20个字符然后从第三行的第4到8个字符获取数据?输出看起来像这样: Ethernet t6 ad 这可能吗?我要设置线并从位置设置到此位置。

7
如何在awk打印命令上使用排序?
我正在编写的awk脚本中有几个命令: print "Here are some players and their numbers, sorted by last name" if(sum[x] > 500) {print x, $2} 哪个输出: Here are some players and their numbers, sorted by last name Lebron James 23 Kevin Durant 35 Kobe Bryant 24 Blake Griffin 32 Dikembe Mutumbo 55 如何在awk脚本中使用sort命令仅对玩家及其编号进行排序?

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.