Questions tagged «text-processing»

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

3
删除单词中的最后一个字符,但前提是该字符存在-以bash开头
仅在有最后一个字符的情况下如何删除? 输入: OpenOffice.org/m openOffice.org/ozm 人 Pfg。 菲尔 教授 分别 根/米 盎司/盎司 所需的输出: OpenOffice.org openOffice.org 佩尔斯 聚乙二醇 菲尔 教授 回应 伦斯特 伦斯特 到目前为止,我只剩下了点,但不幸的是最后一个sed命令也删除了字母g: $ cat filename | grep "\." | cut -d"/" -f1 | sed 's/.$//'


3
AWK-仅在特定列中替换一个字符
我有一个像这样的文件: 2018.01.02;1.5;comment 1 2018.01.04;2.75;comment 2 2018.01.07;5.25;comment 4 2018.01.09;1.25;comment 7 我想.用逗号替换第二列中的所有点,,就像我将sed 's/\./\,/g' file如何使用sed或最好awk仅将其应用于第二列一样,所以我的输出应如下所示: 2018.01.02;1,5;comment 1 2018.01.04;2,75;comment 2 2018.01.07;5,25;comment 4 2018.01.09;1,25;comment 7


4
bash:使用空格安全的find到select程序
给定以下文件名: $ ls -1 file file name otherfile bash 本身与嵌入式空白完美配合: $ for file in *; do echo "$file"; done file file name otherfile $ select file in *; do echo "$file"; done 1) file 2) file name 3) otherfile #? 但是,有时我可能不想使用每个文件,或者甚至不想严格使用in $PWD,它是其中的find源。它也名义上处理空格: $ find -type f -name file\* ./file ./file …

8
如何根据第一行对列进行排序?
我需要对一个非常大的数据集的列进行排序(1000行和700000列)。例如,我的列是随机排列的,例如:col1 col4 col3 col2,我需要对其进行排序。 我一直在尝试一些命令,但没有成功。 例: ID M2 M5 M8 M1 M3 M9 .....M7000000 Animal1 1 0 2 1 0 2 .....1 Animal2 0 1 2 0 1 1 .....0 Animal3 2 1 0 1 2 1 .....0 . . . . Animaln 在此示例中,点表示我有很多列和线。同样,我需要对列进行排序,例如: ID M1 M2 M3 M4 M5 …


3
合并两个文件,一次合并一列
我有以下格式的2个大文件(3000列,15000行) file1(制表符分隔): 1/0 0/0 0/0 0/0 1/1 0/0 1/1 0/1 0/0 file2(制表符分隔): 3 5 2 1 7 10 3 4 3 我想将每个文件的第一列中的值与“:”分隔符组合在一起,然后移至第二,第三等列。所需的输出(制表符分隔): 1/0:3 0/0:5 0/0:2 0/0:1 1/1:7 0/0:10 1/1:3 0/1:4 0/0:3 效率并不重要,因此任何语言都可以。如果这已经被问过了,我深表歉意。

7
如何删除/ *…* /下的所有字符,包括/ *和* /?
我曾经尝试过sed和awk,但是它不能正常工作,因为该字符涉及“ /”,它已经在命令中作为分隔符了。 请让我知道如何实现这一目标。 下面是一个示例Example.We要删除注释的部分,即 /*.....*/ /*This is to print the output data*/ proc print data=sashelp.cars; run; /*Creating dataset*/ data abc; set xyz; run;

4
在特定行号处插入文本
我正在开发一个bash脚本,该脚本将根据行中的数据拆分文本文档的内容。 如果原始文件的内容与 01 line 01 line 02 line 02 line 我如何使用bash插入此文件的第3行 01 line 01 line text to insert 02 line 02 line 我希望使用heredoc或脚本中的类似内容来执行此操作 #!/bin/bash vim -e -s ./file.txt <<- HEREDOC :3 | startinsert | "text to insert\n" :update :quit HEREDOC 上面的方法当然行不通,但是我可以在此bash脚本中实现的任何建议呢?

4
用“ foo”注释从最后注释行到行的所有行
考虑一个文本文件users.txt: #alice #bob charlie dotan eric 我需要注释所有内容(从(独占)最后一个注释行到(包括))dotan。结果如下: #alice #bob #charlie #dotan eric 有没有一个好的sed内线来做到这一点?我会对任何工具感到满意,而不仅仅是sed,真的。 目前,我正在获取最后一条注释行的行号,如下所示: $ cat -n users.txt | grep '#' | tail -n1 2 #bob 然后,我添加一个并用注释sed: $ sed -i'' '3,/dotan/ s/^/#/' users.txt 我知道我很聪明,可以将所有这些与一些bc丑陋的东西放在一起。当然必须有一种更清洁的方法吗?

7
如何识别文件中一定长度的行
我想在我的代码中找到超过一定长度的行。我的代码在多个文件中。有什么好方法吗? 我想知道文件和行号;内容将是首选,但不是必需的。然后,练习的目的是弄清楚如何打破界限(可能是手动)。

6
对行块进行排序
我有一个包含4n行的文件。这是其中的摘录,包含8行 6115 8.88443 6116 6.61875 6118 16.5949 6117 19.4129 6116 6.619 6117 16.5979 6118 19.4111 6115 8.88433 我想要做的是对一个块进行排序,其中每个块均基于第一列包含4行。摘录的输出应如下所示。 6115 8.88443 6116 6.61875 6117 19.4129 6118 16.5949 6115 8.88433 6116 6.619 6117 16.5979 6118 19.4111

4
随机随机播放文件,但有一些其他限制
我的音乐播放列表很庞大,虽然有些歌手有很多专辑,但有些歌手只有一首歌。我想对播放列表进行排序,以使同一位艺术家不会连续播放两次,或者他的歌曲大部分不会出现在播放列表的开头或结尾。 播放清单范例: $ cat /tmp/playlist.m3u Anna A. - Song 1 Anna A. - Song 2 I--Rock - Song 1 John B. - Song 1 John B. - Song 2 John B. - Song 3 John B. - Song 4 John B. - Song 5 Kyle C. - Song 1 U--Rock …

2
在ASCII文件中对齐列
我有一个看起来像他的文本文件: #c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 4599 995,274 2523,658 264,1417170 -33,6000 -0,3600 0,0202 0,0069 0,0227 10,1041 0,0169 0,2817 0,0239 6173 1552,290 1595,696 264,0603912 -33,4880 0,4374 0,0287 1,8123 0,0385 10,1289 0,0292 2,8445 0,0366 6456 1658,630 1529,292 264,0449377 -33,4800 0,0109 0,0234 1,0955 0,0296 10,5032 …

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.