我有一个简单的脚本来逐行读取输入文件的内容,并添加了一些额外的字符串。这是一个例子。
输入文件:input.txt
此input.txt的内容
aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
读取文件的代码
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "abc.def.hig.ewe.adg.hea.L_${line}.great"
done < "$1"
我不确定它究竟在哪里出错;我无法得到正确的输出。看起来当你在变量的末尾添加.great
时,输出会搞乱序列。
答案 0 :(得分:0)
将评论转移到答案中。
你得到什么输出?你期望什么输出?我有五行类似于:
int progPrec=0;
int ProcessedEmployees=0;
int AllEmployees = WorkersList.Tables[0].Rows.Count;
for (int x = 0; x < AllEmployees ; x++)
{
//Codings For Salary Processing Comes Here
ProcessedEmployees++;
int progPrec = (int)Math.Round(((double)(ProcessedEmployees) / (double)(AllEmployees)) * 100);
lblPercentage.Text = "Salary Processing : " + progPrec + " %";
}
使用Bash 3.2.57和Bash 4.3(在Mac OS X 10.11.5上)。
来自Windows的数据文件或其他使用CRLF行结尾的来源?这将使事情看起来像:
abc.def.hig.ewe.adg.hea.L_aaaaaa.great
而不是我之前展示的。并且,我注意到,如果你只显示你得到的输出,这将是很容易解释的(或折扣)。
是的,你是对的。问题是输入文件。从Windows上传到Unix时,它已损坏。
答案 1 :(得分:-1)
您是否考虑过使用像awk这样的东西?这对于这些类型的简单任务非常有用。
$ cat input.txt
aaaa
bbbb
cccc
-
$ awk '{print "prefix_"$0"_suffix"}' input.txt
prefix_aaaa_suffix
prefix_bbbb_suffix
prefix_cccc_suffix