<分区>
我有文件名列表 file1、file2、file3
我想在脚本中传递这些文件名并删除特殊字符
我准备了sed命令来删除特殊字符
sed -i -e 's/^B/,/g' /home/data/nfiledata/
hdfs dfs -put -f /home/data/nfiledata/* user/sai/table1/nfiledata/
gzip /home/data/nfiledata/*
sed -i -e 's/^B/,/g' /home/data/marginfile/
hdfs dfs -put -f /home/data/marginfile/* user/sai/table2/marginfile/
gzip /home/data/marginfile/*
sed -i -e 's/^B/,/g' /home/data/calldata/
hdfs dfs -put -f /home/data/calldata/* user/sai/table3/calldata/
gzip /home/data/calldata/*
我的问题是,我可以写一个命令并使用 Shell 脚本为每个文件循环处理,而不是多次编写相同的命令
nfile = (nfiledata,margindata, calldata)
while IFS= read -r nfile
do
sed -i -e 's//,/g' /home/data/$nfile/
hdfs dfs -put -f /home/data/$nfile/* user/sai/table$/$nfile/
gzip /home/data/$nfile/*
done < "home/data/$nfile"