
yaml 如下
name1: - herry - jack name2: - jack - herry name3: - jack - herry 需求:
1 br_wang 2021 年 11 月 23 日 不如试下正则替换? 1. herry -> herry2 2. jack -> herry 3. herry2 -> jack |
2 asilin 2021 年 11 月 23 日 “1”的解决方案:sed -i '/name2:/{n; N; s/\([^\n]\+\)\n\(.*\)/\2\n\1/}' <文件名> |
5 lanlanye 2021 年 11 月 23 日 文件不是特别多或者特别大的话,用 vim 录宏…… |
6 moshiyeap100 2021 年 11 月 23 日 把 yml 读进来,然后代码里排序,重新生成。 |
7 quanjw 2021 年 11 月 23 日 dd p |
8 arischow 2021 年 11 月 23 日 via iPhone 你所熟悉的语言的 yaml 库 |
9 XSG 2021 年 11 月 23 日 可以尝试一个开源小工具 yq |
10 yEhwG10ZJa83067x 2021 年 11 月 24 日 @quanjw 详细说说。没看懂 |
12 zliea 2021 年 11 月 24 日 我觉得应该考虑一下 py ,py 做这种应该比较适合。 |
13 kidonng 2021 年 11 月 24 日 via Android 取决于这个任务的容错率多高。 如果目标数据就像你发的那么简单,sed 之类就行。 如果稍微复杂点的,还是用专门的 YAML 操作工具,TomWright/dasel 或者 9L 提到的 mikefarah/yq 都可以。 |