Awk 从文件路径创建csv文件
我需要找到当前目录中文件的完整路径,然后用路径、文件夹名称将其保存到.csv文件 foler_名称是本例中的最后一个目录,例如basics、pca和forkedAwk 从文件路径创建csv文件,awk,Awk,我需要找到当前目录中文件的完整路径,然后用路径、文件夹名称将其保存到.csv文件 foler_名称是本例中的最后一个目录,例如basics、pca和forked # find . ./pandas_examples/basics/Skin_NoSkin.ipynb ./pandas_examples/basics/data_visual.ipynb ./pandas_examples/pca/README.md ./pandas_examples/pca/PCA-tSNE-AE.ipynb .
# find .
./pandas_examples/basics/Skin_NoSkin.ipynb
./pandas_examples/basics/data_visual.ipynb
./pandas_examples/pca/README.md
./pandas_examples/pca/PCA-tSNE-AE.ipynb
./pandas_examples/forked/pandas_accidents.py
预期产出:
./pandas_examples/basics/Skin_NoSkin.ipynb, basics
./pandas_examples/basics/data_visual.ipynb, basics
./pandas_examples/pca/README.md, pca
./pandas_examples/pca/PCA-tSNE-AE.ipynb, pca
./pandas_examples/forked/pandas_accidents.py, forked
keras机器学习任务需要这种格式
更新: 如果在第三列中找到目标,这似乎有效:
cat path.txt | cut -d '/' -f3 > target.txt
paste -d "," path.txt target.txt
还有别的办法吗
find . | awk -F "/" 'BEGIN{ OFS=", " }{ print $0, $(NF-1) }'
-F”/“
输入用“/”分隔
OFS=“,”
输出用逗号和空格分隔
打印$0,$(NF-1)
打印输入行($0
)和最后一个字段($(NF-1)),您可以使用以下命令:
find . | awk -F/ '{print $0","$3}'
请您在这里解释一下,pca
有很多文件,但您的示例输出只有2个条目?抱歉,这不清楚,请在您的问题中添加更多详细信息,然后让我们知道。如果找到的行是一个目录怎么办?那么会发生什么呢?确保expected\u output
与example\u input
匹配,或者,如果输入中不需要目录,请使用find-键入f
以筛选输入目录。这按预期工作:查找-键入f | awk-f“/“'BEGIN{OFS=“,”}{print”gs://xx-287804-vcm/img/validation/“$0,$(NF-1)}'”sed's/\/\.//g'>all\u data.csv