我写了一个bash脚本:
for f in *.csv; do shuf -n 1000 "$f" > ./1000/"${f%.csv}_1000.csv" ; done
对于目录中的每个.csv文件,将1000行随机写入目录/ 1000中带有后缀“_1000”的新文件,即
afolder/cat.csv
afolder/dog.csv
变为:
afolder/1000/cat_1000.csv
afolder/1000/dog_1000.csv
每条记录都是推文。这种方法很好,除非输入文件有换行符。例如,我的一条推文记录有一个带换行符的文本字段:
Hope Abbo gets his Sen in #bcafc trenches with McCall & Black..
More Warriors The Better
#ShoulderToShoulder
中正确处理
三条线在一条记录中保存在一起(虽然图像中没有出现这种情况,因为calc已经扩大了字段)。
当我查看输出时,shuf选择了三个文本行中的一个而不是将它们保持在一起:
有没有告诉shuf让他们在一起?