gpt4 book ai didi

linux - 为模式之间的文本创建新文件

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

我的 txt 文件中有以下模式:

./folder1/folder2/myfile.java
//java source line1
//java source line2
./folder1/folder3/myfile1.java
//java source line1
//java source line2
//java source line3

我想将这个文件拆分成类似的(如果我发出 cat 命令,它应该有上面一个文件中的源代码):

cat ./folder1/folder2/myfile.java
//java source line1
//java source line2

cat ./folder1/folder3/myfile1.java
//java source line1
//java source line2
//java source line3

我可以使用以下方法提取内容和文件名:

awk '/java/{flag=1;fileName=$0;next}/java$/{flag=0}flag' source.txt

但无法将代码重定向到具有不同的非现有文件夹的文件。

最佳答案

您所需要的只是类似的东西(未经测试,但如果不能完全正常工作,将非常接近):

awk '
/^\/\// { print > file; next }
{ close(file); dir=file=$0; sub(/\/[^\/]+$/,"",dir); system("mkdir -p \"" dir "\"") }
' source.txt

关于linux - 为模式之间的文本创建新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28781770/

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