我愿意在文件的每一行末尾添加一个不同的随机数。我必须重复几次这个过程,每个文件包含大约20k行,每行包含大约500k个字符。
到目前为止我提出的唯一解决方案是
dep p = new User(name: 'Karl')
p.save()
有更快的解决方案吗?
答案 0 :(得分:3)
你可以使用awk:
awk '{ print $0, int(32768 * rand()) }' "$file" > tmp && \
mv tmp "$file"
答案 1 :(得分:3)
你可以做得更简单,无需打开和关闭输入和输出文件,并在每一行产生新进程,如下所示:
while read line
do
echo "$line $RANDOM"
done < "$file" > tmp.txt
答案 2 :(得分:1)
使用awk:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
using(JsonWriter writer = new JsonTextWriter(sw))
{
var serializer = new JsonSerializer();
serializer.Serialize(writer, data);
}
如果您有gnu awk,那么您可以使用bool isValid = SomeJsonSchemaValidator(responseContentInJsonFormat, jsonSchema);
保存文件:
awk -v seed=$RANDOM 'BEGIN{srand(seed)} {print $0, int(rand() * 10^5+1)}' file
答案 3 :(得分:0)
您的脚本可以重写为:
file="example.txt"
cat ${file} | while read line; do
echo "${line} $RANDOM"
done > tmp.txt
mv tmp.txt ${file}