场景:
Linux系统中的文件夹。我想遍历文件夹中的每个.xls文件。
此文件夹通常包含各种文件夹,各种文件类型(.sh,.pl,.csv,...)。
我想做的就是循环遍历根目录中的所有文件,并仅在.xls文件上执行程序。
xls2csv是我需要运行的程序
例如:
我在/ home / ftp_account / user1有300个目录,而user300 w / c包含每个文件夹中的.xls文件,我想转换所有.xls文件然后将转换后的文件移动到/ home / ftp_account / user1 / converted
请注意:user1的转换文件将转至/ home / ftp_users / user1 / converted
user2的文件将转至/ home_ftp_users / user2 / converted user3的文件将转至/ home_ftp_users / user3 / converted 等....
请帮忙!
谢谢你们:)
答案 0 :(得分:3)
#!/bin/bash
for dir in /home/ftp_users/user{1..300}; do
for file in $dir/*.xls; do
fn=$(basename ${file})
fn=${fn%.*}
mkdir -p $dir/converted
xls2csv $file > $dir/converted/${fn}.csv
done
done