标签: sed

SED 跨多行替换

我试图找到这三行:

<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
Run Code Online (Sandbox Code Playgroud)

并将它们替换为:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

当我尝试

sudo sed -i 's:<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />:' /myfile.xml
Run Code Online (Sandbox Code Playgroud)

它没有找到它,我也尝试将 \n 放入其中,但它仍然不起作用:

sudo sed -i 's:<!--\n <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />\n -->:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />:' /myfile.xml
Run Code Online (Sandbox Code Playgroud)

这些不会引发任何错误,只是不会取消注释该行。任何建议都会有所帮助谢谢!

linux bash sed

12
推荐指数
2
解决办法
2万
查看次数

如何轻松地从 Linux 中的标准输入流转换 HTML 特殊实体?

CentOS

有没有一种简单的方法可以从数据流中转换 HTML 特殊实体?我将数据传递给 bash 脚本,有时该数据包含特殊实体。例如:

“测试”& 测试 $ 测试!测试@#$%^& *

我不确定为什么有些字符显示正常而其他字符显示不正常,但不幸的是,我无法控制传入的数据。

我想我可以在这里使用 SED,但这似乎很麻烦,并且可能容易出现误报。是否有我可以通过管道传输的 Linux 命令专门用于解码此类数据?

scripting linux bash html sed

12
推荐指数
4
解决办法
1万
查看次数

sed,在 linux 中将 http://cdn1 替换为 https://cdn1

我想http://cdn1.domain.comhttps://cdn1.domain.com200 个 .html 文件替换,但我不知道如何用 sed 做到这一点。

有人可以帮我解决这个问题吗?

sed -i '/http:/\/\cdn1/http:/\/\cdn1/' cum-comand.html
sed: -e expression #1, char 8: unknown command: `\'

sed -i '/http:\/\/cdn1/http:\/\/cdn1/' cum-comand.html
sed: -e expression #1, char 17: extra characters after command
Run Code Online (Sandbox Code Playgroud)

linux sed

10
推荐指数
1
解决办法
2万
查看次数

如何仅获取所有正在运行的进程 ID?

我知道

ps ax
Run Code Online (Sandbox Code Playgroud)

返回 pid

1 ?        Ss     0:01 /sbin/init
2 ?        S<     0:00 [kthreadd]
3 ?        S<     0:00 [migration/0]
Run Code Online (Sandbox Code Playgroud)

我所需要的只是清理这些字符串,但我无法使用 sed 来完成,因为我无法编写正确的正则表达式。你可以帮帮我吗?

linux process sed regular-expressions

8
推荐指数
3
解决办法
3万
查看次数

grep 或 sed 查找高于给定数量的整数值?

这是参考另一个问题:如何使用 robocopy 递归列出超过特定大小的所有文件?

我想解析命令的输出(或 cat 日志文件)并找到一个字符串值,将其转换为整数,然后查看该整数值是否大于给定的整数。

例如,给定以下行:

      *EXTRA File          78223    C:\_Google.Enterprise.Contract.2010-06-01.pdf
Run Code Online (Sandbox Code Playgroud)

我想比较“78223”和“10485760”。这可以用 grep 或 sed 吗?

谢谢!

grep sed

7
推荐指数
1
解决办法
2万
查看次数

bash 为指定的开始和结束字符提取子字符串

例如,我有一个包含此条目的日志文件:

[2012 年 8 月 8 日星期三 11:39:41] [错误] [客户端 155.94.70.224] ModSecurity:[文件“/etc/httpd/modsecurity.d/rules/base_rules/modsecurity_crs_20_protocol_violations.conf”] [行“271”] [ id "960020"] [rev "2.2.5"] [msg "Pragma Header 需要 Cache-Control Header for HTTP/1.1 请求。"] [severity "NOTICE"] [tag "RULE_MATURITY/5"] [tag "RULE_ACCURACY/ 7"] [标签 " https://www.owasp.org/index.php/ModSecurity_CRS_RuleID-960020 "] [标签 "PROTOCOL_VIOLATION/INVALID_HREQ"] [标签 " http://www.bad-behavior.ioerror.us/文档/它是如何工作的/ “] 警告。REQUEST_PROTOCOL 处的字符串匹配“HTTP/1.1”。[主机名“webmail.white-art.co.uk”] [uri“/horde/themes/graphics/tree/plusonly.

我想提取所有以字符开头[并以]. 我可以使用 cut 或 awk 使用单个分隔符进行提取,但我需要在开始[和结束之间提取字符串]。如何实现呢?

例如,我需要提取:

“[标签“RULE_ACCURACY/7”]”

“[严重性“注意”]”

从日志中。


我找到了一个解决方案,首先我必须通过在每个之后添加新行]然后使用 grep 搜索所需的字符串来分解日志。有没有更好的方法来做到这一点?

bash awk sed

7
推荐指数
2
解决办法
2700
查看次数

sed php.ini memory_limit

以下效果很好:

phpmemory_limit=256M #or what ever you want it set to
sed -i 's/memory_limit = 16M/memory_limit = '${phpmemory_limit}'/' /etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

如果 memory_limit 设置为 16M,但我发现在某些发行版中它不会默认为 16M,而是默认为 32M。所以我的问题是如何为此拥有 SED 帐户并将任何数字替换为 ${phpmemory_limit}?

bash sed php.ini

6
推荐指数
1
解决办法
8189
查看次数

如何删除文件中的标记文本块?

如何使用 sed、grep 或其他程序删除文件中标记文本块的所有实例?

如果我有一个包含以下内容的文件:

随机
文本
// START TEXT
内部
文本
// END TEXT

随机
// START TEXT
asdf
// END TEXT
文本

如何删除开始/结束行中的所有文本块,生成以下内容?

随机
文本
更多
随机
文本

scripting linux bash grep sed

6
推荐指数
1
解决办法
4351
查看次数

使用一个 sed 命令替换两个字符

我正在尝试使用一个 sed 命令删除=]字符:

# echo "A=[A]" | sed s'/[=\]]/ /g'
A=[A]
Run Code Online (Sandbox Code Playgroud)

这个语法有问题吗?

我期望从 sed 得到以下结果

# echo "A=[A]" | ....sed 
A [A
Run Code Online (Sandbox Code Playgroud)

linux sed

6
推荐指数
3
解决办法
8633
查看次数

拆分大日志文件而不保留原始文件(就地拆分)

我有一个 226GB 的日志文件,我想把split它分成几块以便于xz阅读。问题是我的可用空间只剩下 177GB 的空间。

有没有办法split在不保留原始文件的额外副本的情况下将文件分成一半或分成N个块?

    $ split myFile.txt
    $ ls -halF
-rw-r--r--   1 user group 35 Dec 29 13:17 myFile.txt
-rw-r--r--   1 user group 8 Dec 29 13:18 xaa
-rw-r--r--   1 user group 3 Dec 29 13:18 xab
-rw-r--r--   1 user group 5 Dec 29 13:18 xac
-rw-r--r--   1 user group 10 Dec 29 13:18 xad
-rw-r--r--   1 user group 8 Dec 29 13:18 xae
-rw-r--r--   1 user group 1 Dec …
Run Code Online (Sandbox Code Playgroud)

linux awk sed

5
推荐指数
1
解决办法
5618
查看次数

标签 统计

sed ×10

linux ×7

bash ×5

awk ×2

grep ×2

scripting ×2

html ×1

php.ini ×1

process ×1

regular-expressions ×1