Questions tagged «ed»

10
如何在EOF上删除多个换行符?
我的文件以一个或多个换行符结尾,并且应该仅以一个换行符结尾。如何使用Bash / Unix / GNU工具做到这一点? 错误文件示例: 1\n \n 2\n \n \n 3\n \n \n \n 示例更正的文件: 1\n \n 2\n \n \n 3\n 换句话说:EOF和文件的最后一个非换行符之间应该只有一个换行符。 参考实施 读取文件内容,切掉一个换行符,直到末尾再没有两个换行符,将其写回: #! /bin/python import sys with open(sys.argv[1]) as infile: lines = infile.read() while lines.endswith("\n\n"): lines = lines[:-1] with open(sys.argv[2], 'w') as outfile: for line in lines: …
25 bash  sed  awk  ed 

4
为什么ED无法通过Cc退出?
该程序ed是最小的文本编辑器,无法通过使用Ctrl- 发送中断信息来退出C,而是打印错误消息“?”。到控制台。为什么ed收到中断后不退出?当然,没有理由为什么隐式错误消息在这里比退出更为有用。此行为导致许多新用户进行以下类型的交互: $ ed hello ? help ? exit ? quit ? ^C ? ^C ? ? ? ^D $ su # rm -f /bin/ed 这样的悲剧性浪费—如果ed简单地同意被打断就很容易避免。 另一个表现出类似行为的顽固程序less似乎也没有太多原因可以忽略C-c。为什么这些程序不只是提示?
20 less  interrupt  ed 

8
sed在整个文件系统上就地删除行?
由于尚无法诊断的应用程序错误,我有数百台服务器装有完整的磁盘。有一个文件被重复的行填充了-不是日志文件,而是带有变量定义的用户环境文件(因此,我不能只是删除该文件)。 我编写了一个简单的sed命令来检查错误添加的行并删除它们,然后在文件的本地副本上对其进行测试。它按预期工作。 但是,当我在具有完整磁盘的服务器上尝试使用它时,大约收到以下错误(来自内存,而不是复制和粘贴): sed: couldn't flush /path/to/file/sed8923ABC: No space left on deviceServerHostname 当然,我知道这里没有空间了。这就是为什么我要删除内容!(sed我正在使用的命令会将4000+行文件减少到大约90行。) 我的sed命令就是sed -i '/myregex/d' /path/to/file/filename 尽管磁盘已满,有没有办法应用此命令? (它必须是自动化的,因为我需要将它作为快速修复程序应用于几百台服务器。) (显然,需要诊断应用程序错误,但是在此期间,服务器无法正常工作...。) 更新:通过删除我发现可以删除的其他内容解决了我所面临的情况,但是我仍然希望得到此问题的答案,这将对将来和其他人有所帮助。 /tmp不行 它在同一文件系统上。 在释放磁盘空间之前,我进行了测试,发现可以vi打开文件并运行以删除行:g/myregex/d,然后使用保存成功:wq。似乎应该可以自动执行此操作,而无需借助单独的文件系统来保存临时文件....(?)


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.