Questions tagged «text-processing»

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

11
仅打印字符串的后3个字符的命令
我知道该cut命令可以打印n字符串的第一个字符,但是如何选择最后一个n字符? 如果我的字符串中的字符数可变,那么如何仅显示字符串的后三个字符。例如。 所需的“无限”输出为“ ted” 所需的“ 987654”输出为“ 654” 所需的“ 123456789”输出为“ 789”




6
如何删除短于XY的行?
我发现了一个有关如何删除行数超过2048个字符的问题: 如果长度超过XY,如何删除行? 问:但是如何删除少于4个字符的行?因此,删除文件中长度为1或2或3的行。 更新:感谢您提供许多好的答案,但我只能将其中一个标记为“好”


4
BASH基本从十进制转换为十六进制
在Bash中,如何将基数从十进制转换为另一基数,尤其是十六进制。似乎很容易走另一条路: $ echo $((16#55)) 85 通过网络搜索,我发现了一个脚本,该脚本可以进行数学和字符操作来进行转换,并且可以将其用作函数,但是我以为bash已经具有内置的基本转换-可以?

3
使用sed为solaris上的命令的输出着色
我有一个必须在linux和solaris上都可以使用的ksh脚本。我正在尝试为特定命令的输出着色。它可以在Linux(特别是RHEL6)上运行,但不能在solaris(SunOS 5.10)上运行。 在Linux上的命令(输出“测试”正确地显示为红色): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test 关于so​​laris的命令(输出“ test”未着色): [amartin@sunbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' x1B[31mtestx1B[0m 有没有办法制作此命令,使输出为红色,而输出中没有原始代码?我不能更改'echo'命令,因为这只是我实际运行的命令的填充。

4
如何使用gnu texttools连续执行'wc -l'?
我当然知道 cat logfile.txt | wc -l 120 会告诉我文件中的行数。 鉴于 tail -f logfile.txt 将向我展示另一个程序写入的新行logfile.txt。 是否可以将两者结合在一起,以便我可以使用标准文本实用程序连续更新logfile.txt的行数? 我知道 watch wc -l logfile.txt 但是我不想每次都重新计算整个文件,这似乎是浪费。一个人可能需要每秒钟左右追加一次计数,可能\r需要\n在行尾添加一个,而不是一个。

5
使用sed(或awk)删除图案上方的行范围
我有以下代码,该代码将删除带有模式的banana行及其后的两行: sed '/banana/I,+2 d' file 到目前为止,一切都很好!但我需要它来除去2行之前 banana,但我不能用“减号”或任何(类似于得到它grep -v -B2 banana file应该做的,但没有): teresaejunior@localhost ~ > LC_ALL=C sed '-2,/banana/I d' file sed: invalid option -- '2' teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,-2 d' file sed: -e expression #1, char 16: unexpected `,' teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,2- d' file sed: -e …


11
是否必须有更好的方法来仅替换单个换行符?
我习惯每句只写一行,因为我通常将内容编译为LaTex,或者以其他格式书写而忽略了换行符。我使用空白行指示新段落的开始。 现在,我有一个以这种风格编写的文件,我想将其作为纯文本发送。我想删除所有单个换行符,但完整保留两个换行符。这是我所做的: sed 's/$^/NEWLINE/' file.txt | awk '{printf "%s ",$0}' | sed 's/NEWLINE/\n\n/g' > linebreakfile.txt 这用一些我相信不会出现在文件中的文本替换空行:NEWLINE然后用awk消除了所有换行符(我在某些网站上发现了这个技巧),然后NEWLINE用必需的两个换行符替换了s 。 这似乎是完成一件非常简单的事情的漫长方法。有没有更简单的方法?另外,如果有一种方法可以用单个空格替换多个空格(有时由于某种原因有时会蔓延),那也很好。 我使用emacs,所以如果有一些emacs特定的技巧很好,但我宁愿看到一个纯sed或纯awk版本。

13
将CSV转换为TSV
我有许多大型CSV文件,希望它们采用TSV(制表符分隔格式)。复杂之处在于CSV文件的字段中有逗号,例如: A,,C,"D,E,F","G",I,"K,L,M",Z 预期产量: A C D,E,F G I K,L,M Z (中间的空格是“硬”标签) 我在此服务器上安装了Perl,Python和coreutils。



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.