Linux 将文本文件分成两等份

Linux 将文本文件分成两等份,linux,bash,file,split,directory,Linux,Bash,File,Split,Directory,我想把一个目录中的所有文本文件分成两个相等的两半。我尝试了下面的代码,但不起作用 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 d=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
d=2
对于/home/user1/Documents/files/*.txt中的文件;做
l=$(wc-l<“$file”)#was l=wc$file | awk{'print$1'}
回音$l
sp=$((l/d))#是sp=$((l/d))
echo$sp
拆分-l$sp$文件$文件。
完成
这一行

l= wc $file | awk {'print $1'}
应该是

l=$(wc -l < "$file")
l=$(wc-l<“$文件”)

No,等号两边都不应该有空格,最好是
l=$(wc-l<“$file”)
awk也不需要了。。。因为
wc
不会打印文件名,或者按照我的建议调用它时不会打印字数和字符数。
l
将包含由
wc-l<“$file”
生成的前导空格,这不应该是一个问题,只是需要记住的一点。删除指定“拆分”的行上的空格。也。考虑将变量<代码>拆分< /代码>作为<代码>行<代码>,因此它不会与命令<代码>拆分< /代码>混淆。此外,考虑奇数行的文件,当你除以2时会发生什么,你可能需要添加1,以确保你不会得到3个“一半”。:-)已将split更改为sp,但分区不起作用。是否删除了=?请发布更新的代码,以便我们查看到目前为止您拥有的内容。