我在GCS中有一个桶,具有以下层次结构:
dataset/class1/image1.png
image2.png
..
dataset/class2/image1.png
image2.png
..
dataset/class3/image1.png
image2.png
..
因此,同一类的所有示例都在同一个文件夹中。
我想创建一个导入文件,为每个图像创建一个带有URI和类的新行。它看起来像这样:
gs://dataset/class1/image1.png, class1
gs://dataset/class1/image2.png, class1
..
gs://dataset/class2/image1.png, class2
gs://dataset/class2/image2.png, class2
..
gs://dataset/class3/image1.png, class3
gs://dataset/class3/image2.png, class3
..
我正在尝试这个,但它不工作
export BUCKET=<bucket name>
export IMPORT_DATA=<import file>
gsutil ls -r gs://$BUCKET/** > $IMPORT_DATA
sed -i '1d' $IMPORT_DATA
sed -e 's/$/$(basename $)/' -i filename
我可能找到了一种方法。
export BUCKET=<bucket name>
export IMPORT_DATA=<import file>
gsutil ls -r gs://$BUCKET/** > tmp.csv
sed -i '1d' tmp.csv # the first line is not a file
cat tmp.csv | while read line ; do echo $line ',' $(basename $(dirname $line)) ; done > $IMPORT_DATA
wc -l $IMPORT_DATA
rm tmp.csv