Questions tagged «text-processing»

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

1
如果只包含特定数字,则使用sed删除整行
我有一个txt文件 123 456 789 456 123456 我想从文件中删除特定字符,即(123)。我尝试过 $ sed -i '/123/d' dummy.sh $ vi dumm.txt 456 789 456 在下面的命令中,当我运行时,两个单词(123和123456)都将被删除,但是我只需123要从文件中删除 $ sed -i 's/123//g' dummy.sh $ vi dumm.txt 456 789 456 456 当我运行以下命令时,123它将被替换为null。 任何人都可以说如果只包含特定数字则删除整个行吗?

2
如何使用sed或awk将字符串添加到.txt文件中的所有行中,除了少数字符外
我有一个名为的文本文件xid.txt: xid: SC48028 id: artf398444 xid: indv1000 id: indv24519 xid: SC32173 id: artf398402 xid: SC21033 id: artf398372 xid: 1001 id: tracker4868 xid: wiki1000 id: wiki10709 xid: proj1234 id: proj12556 我需要在'SC48028','SC32173'...之前添加字符串'PT_'。字符串“ SC ...”可以任何组合开头,可以是“ AC ...”或“ DL ..” 要求的输出: xid: PT_SC48028 id: artf398444 xid: indv1000 id: indv24519 xid: PT_SC32173 id: artf398402 xid: …

5
更改逗号分隔列表中的最后一个条目
我有一个巨大的文本文件,如下所示: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,3 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,8 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,12 所需的输出是这样的: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-03 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-08 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,MI-12 我曾在这里和其他社区尝试过其他相关职位,但无法完全得到我想要的东西。 更新 这是交叉询问(我想要Unix / perl答案和批处理/ powershell解决方案。),它有有趣的答案。




6
将一列中的所有值替换为1
我有多个包含12行和3列的文本文件。 例: 2 6 0.74 42 6 0.58 80 6 0 112 6 0.24 132 6 1 216 6 0.7 342 6 0 390 6 0.21 432 6 0.56 466 6 0.75 524 6 0.6 646 6 0.9 我想在所有行中将第三列的所有值设置为1。 输出应如下所示: 2 6 1 42 6 1 80 6 1 112 …



4
我需要从/ etc / passwd查找使用grep列出的所有用户主目录
我有一个与此网站上的另一个问题类似的问题,该用户必须从/ etc / passwd中使用grep或awk查找所有用户的列表。这对我有用,但我尝试将其翻译以查找并列出它们的主目录。我已经知道您无法在一行中做到这一点,所以我知道我会使用管道。我已经完成了在线研究,但无法弄清楚问题出在哪里。如果我使用grep并执行以下操作: grep -oE '^[/*/]$' /etc/passwd ...这可能会给我一个错误,或者还会显示/ bin / bash文件,这不是我想要的。我只需要使用grep列出的用户名和主目录!我也不确定*是否会将其他正斜杠显示为字符,因为某些主目录中的多个正斜杠不止两个。

5
如何查找以**开头的行
我需要查找文件中是否有任何行以开头**。 我不知道该怎么做,因为它*被外壳解释为通配符。 grep -i "^2" test.out 如果行以2开头但有效 grep -i "^**" test.out 显然是行不通的。 (我还需要知道该行是否以a结尾,)但尚未尝试过)。

3
提取三个单引号之间的文本
我的档案中有以下内容 description: ''' This rule forbids throwing string literals or interpolations. While JavaScript (and CoffeeScript by extension) allow any expression to be thrown, it is best to only throw <a href="https://developer.mozilla.org /en/JavaScript/Reference/Global_Objects/Error"> Error</a> objects, because they contain valuable debugging information like the stack trace. Because of JavaScript's dynamic nature, CoffeeLint …

3
grep如何确定文件是二进制文件?
我有一个很大的utf-8文本文件,经常使用来搜索grep。最近grep开始报告它是一个二进制文件。我可以继续使用搜索它grep -a,但是我想知道是什么更改决定了文件现在是二进制文件。 我有上个月的副本,该文件不再被检测为二进制文件,但是对diff他们来说不切实际,因为它们的差异超过20,000行。 file 将我的文件标识为 UTF-8 Unicode英文文本,行很长 如何找到字符/行/等。在我的文件中哪些触发了此更改? 类似的,非重复的问题19907涵盖了NUL的可能性,但grep -Pc '[\x00-\x1F]'说我没有NUL或任何其他ANSI控制特性。

2
粘贴没有分隔符的文件
如何在没有任何分隔符的情况下垂直连接两个文件?我试图使用paste -d"" a b,但这只是给我a。 样本文件: 000 0 0 0 0001000200030004 10 20 30 40 2000 4000 .123 12.1 1234234534564567


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.