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