Questions tagged «text-processing»

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

1
在bash中以空分隔输入如何执行“ head”和“ tail”?
find命令可以将文件名输出为以空分隔的字符串(如果-print0提供),并且xargs可以在-0打开选项的情况下使用它们。但是在两者之间,很难对文件进行操作的该集合- sort命令有-z开关,这使得它可能对这些文件进行排序,但head并tail没有他们。 我该怎么做head,并tail在一个方便的方式与空分隔的投入?(我总是可以创建一个简短的红宝石脚本,但我希望有更好的方法)


4
是否有命令行工具可将换行符插入长字符串?
给定一个需要以有限的文本宽度显示的长字符串,* nix中是否有一个命令行工具可将单行字符串转换为多行字符串,且每行的长度不超过给定的文本宽度? 例如,给定以下字符串 $ MYSTRING="Call me Ishmael. Some years ago - never mind how long precisely - having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world." 我想这样格式化: …


7
打印奇数行,打印偶数行
我想从文件中打印奇数行和偶数行。 我发现了这个利用echo的shell脚本。 #!/bin/bash # Write a shell script that, given a file name as the argument will write # the even numbered line to a file with name evenfile and odd numbered lines # in a text file called oddfile. # ------------------------------------------------------------------------- # Copyright (c) 2001 nixCraft project <http://cyberciti.biz/fb/> # …

3
如何选择“顶部”的特定过程?
如果一个程序有多个实例,运行pidof program将给出: `1 2 3` top -p接受以逗号分隔的参数:1, 2, 3。 这意味着top -p `pidof program`将不起作用: top: unknown argument '1' usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...] 你能告诉我怎么做吗。我对awk,sed等不熟悉。


6
如何只保留日志文件的最后n行?
我编写的脚本会执行某些操作,最后将一些行添加到其自己的日志文件中。我只想保留日志文件的最后n行(例如1000行)。可以通过以下方式在脚本末尾完成此操作: tail -n 1000 myscript.log > myscript.log.tmp mv -f myscript.log.tmp myscript.log 但是还有更干净,更优雅的解决方案吗?也许通过一个命令完成?


9
转置行和列
我有一个带有以下内容的文件。 title1:A1 title2:A2 title3:A3 title4:A4 title5:A5 title1:B1 title2:B2 title3:B3 title4:B4 title5:B5 title1:C1 title2:C2 title3:C3 title4:C4 title5:C5 title1:D1 title2:D2 title3:D3 title4:D4 title5:D5 我该如何实现? title1 title2 title3 title4 A1 A2 A3 A4 B1 B2 B3 B4 C1 C2 C3 C4 D1 D2 D3 D4

4
将文件分成两部分
我的文件很大,需要分成两个文件。假设在第一个文件中应选择1000行并将其放入另一个文件,然后在第一个文件中删除这些行。 我尝试使用,split但它正在创建多个块。

3
awk:强制返回状态吗?
这是我先前问题的跟进。 我正在使用此方便的代码段验证/ etc / passwd中的字段数。在以下示例中,用户“ fieldcount1”和“ fieldcount2”具有错误的字段数: $ awk -F: ' NF!=7 {print}' /etc/passwd fieldcount1:x:1000:100:fieldcount1:/home/fieldcount1:/bin/bash:::: fieldcount2:blah::blah:1002:100:fieldcount2:/home/fieldcount2:/bin/bash: $ echo $? 0 您会注意到,awk将以0的返回状态退出。从它的角度来看,这里没有问题。 我想将此awk语句合并到shell脚本中。我想打印所有错误的行,并将返回代码设置为1(错误)。 我可以尝试强制使用特定的退出状态,但是awk仅打印一行: $ awk -F: ' NF!=7 {print ; exit 1}' /etc/passwd fieldcount1:x:1000:100:fieldcount1:/home/fieldcount1:/bin/bash:::: $ echo $? 1 我可以强制awk以返回状态“ 1”退出并打印所有匹配的行吗?

8
如何计算特定字符在文件中出现的次数?
例如,我们要计算所有引号(")字符;我们只是担心文件中的引号是否超过其应有的数量。 例如: cluster-env,"manage_dirs_on_root","true" cluster-env,"one_dir_per_partition","false" cluster-env,"override_uid","true" cluster-env,"recovery_enabled","false" 预期成绩: 16

10
按行号过滤文件
给定一个文件L,每行一个非负整数,并且文本文件F,那么仅将行号出现在文件L中的那些行保留在F中的快速方法是什么? 例: $ cat L.txt 1 3 $ cat F.txt Hello World Hallo Welt Hola mundo $ command-in-question -x L.txt F.txt Hello World Hola mundo 我正在寻找一个可以处理具有5亿或更多条目的文件L的命令;文件L按数字排序。 注意:我已经完成了的实现的一半,command-in-question但是我只是想知道,这里是否也可以使用某些Unix工具。 更新:感谢您提供所有答案,我今天学到了很多东西!我想接受一个以上的答案,但这是不可能的。


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.