小编mr.*_*tee的帖子

sed regexp 文本处理捕获分组引用交替混淆

sed 的捕获分组 ALTERNATION 未按预期工作。

虽然交替的优先级最低,但这里是混淆:

echo "abcd_aefghi" | sed -r "s/(a)(b)(c)(d)|(a)(e)(f)(g)/\8/g;"

observed result --> _ghi
expected result --> error: invalid reference \8 RHS

a--bcd | # Logical alternation (Not bitwise!!)
#must be different separated logical state processing!! 
#not involvement of look behind registered reference grouping Counting!!
a--efg ;
Run Code Online (Sandbox Code Playgroud)

sed -r "s/(a)((b)(c)(d)|(e)(f)(g))/\8/;"
observed result --> _ghi
Run Code Online (Sandbox Code Playgroud)

更多的困惑,如果

sed -r "s/(a)(b)(c)(d)()|((a)(e)(f)(g))/\8/g"

observed result --> _ehi
Run Code Online (Sandbox Code Playgroud)

也更加混乱

sed -r "s/(a)(b)(c)(d)()||||i am Not comment, Whats going here?|||||||((a)(e)(f)(g))/\8/g"

observed result --> _ehi
expected result …
Run Code Online (Sandbox Code Playgroud)

sed perl text-processing regular-expression

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

unix 命令格式化展平嵌套的 json 对象数据

示例输入数据格式 json

data: {
   div1: {
      name: "some name",
      age: number,
      address_1: "some address",
      items: {
         item_x1: "some data",
         ..
         ..
      }
   }
   ..
   ..
}
Run Code Online (Sandbox Code Playgroud)

预期结果应格式化为扁平化 json

{ "data.div1.name":"some name",..., "data.div1.items.item_x1":"some data",...},
..
..
{ "data.divN.name":"some name",... }
Run Code Online (Sandbox Code Playgroud)

字段可以是未知的!所以没有必要激活任何过滤命令!

对基于 Unix 的命令有什么想法吗?

command-line json text-formatting

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

我们如何在函数内递归扩展内联函数和别名?

鸭子类型的嵌套问题:

function f1 { echo $1; } #with argument
function f2 { N=$((0+1)); f$N "fff"; } #with dynamic name
Run Code Online (Sandbox Code Playgroud)

期望的结果:

function f2 { { echo $1; } "fff"; } 
Run Code Online (Sandbox Code Playgroud)

注意。抱歉,我修改了问题,真正的编码问题。

如何解决问题?

bash function

0
推荐指数
1
解决办法
128
查看次数