Awk 从文件路径创建csv文件

Awk 从文件路径创建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 .

我需要找到当前目录中文件的完整路径,然后用路径、文件夹名称将其保存到.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
./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