gpt4 book ai didi

linux - 如何使用数字指定的嵌套级别转换文本格式的树

转载 作者:太空宇宙 更新时间:2023-11-04 10:17:38 25 4
gpt4 key购买 nike

如果您就如何转换(最好使用 bash)文本文件(例如 foobar.txt)提出建议,我将不胜感激,该文件以下列格式存储有关目录结构的信息:

1 次

2 次

1 个单位

1个

2 fgh

3 jkl

2 zxc

每行的第一个数字指定嵌套级别(7 是最大值)。我需要在磁盘上创建相应的目录树。命令 «xargs -a foobar.txt mkdir -p» 将创建树,但 foobar.txt 的内容必须如下所示:

./qwe/rty

./uio

./asd/fgh/jkl

./asd/zxc

最佳答案

这是使用 awk 实现的方法。这将简单地打印所需的目录:

awk '{dir[$1]=$2; for( i in dir ) { if( i<=$1 ) { if( i==1 ) printf("."); printf("/%s", dir[i]); }} printf("\n"); }' text_file

当然,您可以在它之后添加 mkdir 来创建它们:

awk '{dir[$1]=$2; for( i in dir ) { if( i<=$1 ) { if( i==1 ) printf("."); printf("/%s", dir[i]); }} printf("\n"); }' text_file | xargs mkdir -p

关于linux - 如何使用数字指定的嵌套级别转换文本格式的树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45373081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com