打印具有特定后缀的名称子目录
print names subdirectories with specific suffix
我想打印所有子目录中的文件名(我已经有了),但是 取决于 我想在名称后添加特定后缀的子目录。
对于子目录 gas_station 我想添加后缀 50,对于子目录 golf_course我要后缀51.
这就是我所拥有的,但它并不完全有效:
#!/bin/bash
#lists the subdirectories, these are 'gas_station' and 'golf_course'
for i in $(ls -d */); do
if ${i%%/} = 'gas_station'
then
find /home/apples/dataset/small_train_B/g/${i%%/}/* -type f -printf "g/"${i%%/}"/""%f 50\n"
else
find /home/apples/dataset/small_train_B/g/${i%%/}/* -type f -printf "g/"${i%%/}"/""%f 51\n"
fi
done
它打印出以下内容:
...
g/gas_station/00000997.jpg 51
g/gas_station/00000998.jpg 51
g/golf_course/00000017.jpg 51
...
但是,我需要这样:
...
g/gas_station/00000997.jpg 50
g/gas_station/00000998.jpg 50
g/golf_course/00000017.jpg 51
...
试试这个
for f in $(ls -d */); do
d=${f%%/};
if [ ${d} = "gas station" ];
then n=50;
else n=51;
fi;
find ${d} -type f -printf "g/"${d}"/""%f $n\n";
done
为什么这不起作用?
#!/bin/bash
for f in gas_station/*; do
printf "%s 50\n" "$f"
done
for f in golf_course/*; do
printf "%s 51\n" "$f"
done
您可以避免摆弄参数修饰符,而只需与正确的字符串进行比较:
if [ "$i" = 'gas_station/' ]
我想打印所有子目录中的文件名(我已经有了),但是 取决于 我想在名称后添加特定后缀的子目录。
对于子目录 gas_station 我想添加后缀 50,对于子目录 golf_course我要后缀51.
这就是我所拥有的,但它并不完全有效:
#!/bin/bash
#lists the subdirectories, these are 'gas_station' and 'golf_course'
for i in $(ls -d */); do
if ${i%%/} = 'gas_station'
then
find /home/apples/dataset/small_train_B/g/${i%%/}/* -type f -printf "g/"${i%%/}"/""%f 50\n"
else
find /home/apples/dataset/small_train_B/g/${i%%/}/* -type f -printf "g/"${i%%/}"/""%f 51\n"
fi
done
它打印出以下内容:
...
g/gas_station/00000997.jpg 51
g/gas_station/00000998.jpg 51
g/golf_course/00000017.jpg 51
...
但是,我需要这样:
...
g/gas_station/00000997.jpg 50
g/gas_station/00000998.jpg 50
g/golf_course/00000017.jpg 51
...
试试这个
for f in $(ls -d */); do
d=${f%%/};
if [ ${d} = "gas station" ];
then n=50;
else n=51;
fi;
find ${d} -type f -printf "g/"${d}"/""%f $n\n";
done
为什么这不起作用?
#!/bin/bash
for f in gas_station/*; do
printf "%s 50\n" "$f"
done
for f in golf_course/*; do
printf "%s 51\n" "$f"
done
您可以避免摆弄参数修饰符,而只需与正确的字符串进行比较:
if [ "$i" = 'gas_station/' ]