【发布时间】:2014-04-09 16:12:15
【问题描述】:
我想为每个文件将目录中的所有文本文件分成 2 等份。我尝试了下面的代码,但它不起作用。
d=2
for file in /home/user1/Documents/files/*.txt; do
l=$(wc -l < "$file") #was l= wc $file | awk {'print $1'}
echo $l
sp=$((l/d)) #was sp = $((l/d))
echo $sp
split -l $sp $file $file.
done
【问题讨论】:
-
删除分配“split”的行上的空格。还。考虑将变量
split重命名为lines,这样它就不会与命令split混淆。 -
另外,考虑一下具有奇数行的文件,以及当你除以 2 时会发生什么 - 你可能需要加 1 以确保你没有得到 3 个“半”:- )
-
把 split 改成 sp 但除法不起作用。
-
你删除了 = 后面的空格吗?
-
请发布您的更新代码,以便我们查看您目前拥有的内容。
标签: linux bash file split directory