【发布时间】:2012-07-05 14:45:04
【问题描述】:
我有一个包含大约 150 到 200 个文件名列表的文本文件
abc.txt
pqr.txt
xyz.txt
...
...
我需要一串逗号分隔的文件。 每个字符串不应超过 20 个文件。所以回声看起来像这样......
$string1="abc.txt,pqr.txt,xyz.txt..."
$string2="abc1.txt,pqr1.txt,xyz1.txt..."
...
字符串的数量将根据文件中的行数而有所不同。我写过这样的东西……
#!/bin/sh
delim=','
for gsfile in `cat filelist.txt`
do
filelist=$filelist$delim$gsfile
echo $filelist
done
翻译命令按预期工作,但如何将每个字符串限制为 20 个文件名?
cat filelist.txt | tr '\n' ','
【问题讨论】:
-
你可以有一个变量数组,并通过你的列表循环检查 % 20 == 0,然后从你的变量数组中分配给下一个变量