相关疑难解决方法(0)

sed one-liner 删除一对括号之间的所有内容?

我正在处理一些文本,这些文本在括号 [] 之间充满了我不想要的东西。因为我可以自己删除括号,所以我不需要单行为我做这件事,但我确实需要一个单行来删除它们之间的所有内容。

括号 () 而不是方括号呢?

sed regular-expression

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

如何删除多行文本文件中嵌套大括号之间的所有文本?

这个问题来自 如何删除多行文本文件中大括号之间的所有文本?(只是一样,但没有嵌套的要求)。

例子:

This is {
{the multiline
text} file }
that wants
{ to {be
changed}
} anyway.
Run Code Online (Sandbox Code Playgroud)

应该变成:

This is 
that wants
 anyway.
Run Code Online (Sandbox Code Playgroud)

是否可以使用某种单行 bash 命令(awk、sed、perl、grep、cut、tr...等)来做到这一点?

text-processing

9
推荐指数
1
解决办法
2617
查看次数

在 shell 变量中捕获命令后的参数(括号之间)

假设我有一个文件,其中包含许多其他内容,

\command{arg1,arg2,arg3}

(参数是路径,用/, ., 字符和数字表示)

但是用户也可以调用它

\command{arg1,
arg2 ,
arg3
}
Run Code Online (Sandbox Code Playgroud)

也就是说,在几行上并且有多余的空格。

我想找到一个常规模式以包含在 shell 脚本中,以便 n 个变量将包含 n 个参数。如何进行 ?


我设法写

echo "\command{arg1,
    arg2 ,
    arg3
    }" | sed -n -e 's/\\command//p' | sed 's/,/\n/' | sed 's/{\|}//'
Run Code Online (Sandbox Code Playgroud)

但这只是输出arg1,我什至不确定如何将它存储在变量中。

有关的:

但我无法将所有这些成分结合起来得到我想要的。

grep bash sed regular-expression

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

文本文件中的 grep 花括号条目

我有一个包含许多大括号单词的文件,例如。{test1}, {test2} - 我将如何grep为这些单词输出一个不同的列表?

输出示例:

{test1}
{test2}
Run Code Online (Sandbox Code Playgroud)

我试过这个没有用:

grep -o {.*} file.xml  | sort | uniq
Run Code Online (Sandbox Code Playgroud)

更新

实际上 - 这似乎有效:

grep -oP '{.*?}' file.xml | sort | uniq
Run Code Online (Sandbox Code Playgroud)

grep bash

3
推荐指数
1
解决办法
4682
查看次数

标签 统计

bash ×2

grep ×2

regular-expression ×2

sed ×2

text-processing ×1