我有一个生成输出文件的外部程序(可能有 20K 行)。
我需要在现有的第 1 行和第 2 行之间插入一个新行。我一直在查看 awk 和 sed - 我经常在每个行中使用一个衬里 - 但我一直无法想出正确的开关做这个。
我最近更改了我的 emacs 配置,通过在文件名前添加一个点来隐藏备份文件。这让我开始思考 - 是否有一种现成的方法可以更改 Bash 中的行为,以使用任意 glob 列表来隐藏哪些文件?快速扫描 bash 和 ls 手册页没有发现任何内容。
如何从我的文件中删除以下字符序列?^[[64;8H, ^[[?25h,^[[1;64r等或避免首先添加它们?
背景:
我正在为某些任务使用一组期望脚本。
我收集的输出文件通常包含上述类型的字符(如 emacs / vi / cat -v 中所示)。我已经尝试了一些像下面这样的 tr 命令,但它只使 [64;8H 等可见。
tr -dc '[:print:]\n' < input
Run Code Online (Sandbox Code Playgroud)
编辑:
上面的结果在一条有问题的线上
[1;64r[64;1H[64;1H[2K[64;1H[?25h[64;1H[64;.....
Run Code Online (Sandbox Code Playgroud) 我正在为我的 Linux 机器组装一些 DR 东西。真正方便的一项是 GRUB 选项,它可以运行脚本将我的 IP 地址从静态 IP 更改为动态 IP。
我知道我们可以采用单用户模式、运行脚本、重新启动等,但这对于其他管理员(大多数具有 Windows 背景)来说选择一项并自动完成该过程会非常简单。
我发誓我曾经看到过提供的配置设置让 Grub 在某一时刻执行此操作,但已经有一段时间了。不知道该用谷歌搜索什么。
编辑:
我知道 rc.local 方法,但是我不希望它在每次启动时运行。我希望列出一个选项(可能是 grub.conf 中的行项目),它允许仅在选择该引导选项时运行特定脚本。
当分布在多行输出中时,验证模式“301 domaname.com 200”是否存在于 BASH 中的快速简便方法是什么?
我正在使用类似以下内容:
awk '/301|domain.com|200/'
pcregrep -M '301|domain\.com|200'
Run Code Online (Sandbox Code Playgroud)
但顺序无关紧要。我不知道如何陈述它确实如此。我认为显然可行的方法不是捕捉行尾。
pcregrep -M '301.*domain\.com.*200'
Run Code Online (Sandbox Code Playgroud)
背景:
我正在构建一个小型 mod_rewrite 服务器,我需要一种方法来监控哪些域被重定向到哪些目的地。
因此,我正在组装一个小的 Nagios 检查脚本,它将为我处理这个问题。
到目前为止,我所拥有的是以下内容:
curl qa-mod-rewrite.domain.com -i -I -L
HTTP/1.1 301 Moved Permanently
Via: 1.1 GREGORY
Connection: close
Proxy-Connection: close
Date: Thu, 14 Nov 2013 16:35:19 GMT
Location: http://qa.domain.com/
Content-Type: text/html; charset=iso-8859-1
Server: Apache/2.2.3 (CentOS)
HTTP/1.1 200 OK
Via: 1.1 GREGORY
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 56772
Expires: -1
Date: Thu, 14 Nov 2013 16:35:03 GMT
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5 …Run Code Online (Sandbox Code Playgroud)