目前,我正在做一些 shell 脚本任务。我在学习阶段。我的要求是我有很多的csv文件在一个目录的例子100。在这100个csv文件,无论文件名开始登录我需要分割数据和复制到不同的文件夹。其余的csv不开始登录作为前缀我需要复制到不同的文件夹没有分割数据。
示例:usr/我的配置文件/测试01.csv、usr/我的配置文件/登录名.csv
预期产出:test01.csv -复制到其他文件夹
login.csv - Split the data and copy to different folder.
目前,我已经写了下面的代码,但它并不像预期的那样工作。有人可以帮助这里修复这个脚本。
#!/bin/bash
count = 2
FILENAME = test
for dir in /usr/myprofiles/*.csv
do
if[-f $*Login*.csv]
then
split -l $count $login.csv xyz
n=1
for f in xyz*
do
cat $f >> /usr/myprofiles/test/$FILENAME${n}
rm $f
((n++))
done
fi
else
cp "$dir" "$usr/myprofiles/test/$FILENAME$
done
在意外标记“”附近获取语法错误,然后””。
1条答案
按热度按时间3mpgtkmj1#
此代码段存在问题:
上面显示了对第一个“for”语句的误解(在列出的目录中没有隐式的“cd”)。对于“login”文件的正确位置,没有路径说明。它正在脚本启动目录中查找这些文件。“login”引用不包括完整路径。
所以你要么
以便定位和处理实际的登录文件。