我正在 bash 中读取文件,取出值并将它们保存到另一个文件中。该文件有大约 10 万行,读取和重写它们大约需要 25 分钟。
是否有一些更快的写入文件的方法,因为现在我只是遍历行,解析一些值并像这样保存它们:
while read line; do
zip="$(echo "$line" | cut -c 1-8)"
echo $zip
done < file_one.txt
Run Code Online (Sandbox Code Playgroud)
一切正常,值被正确解析,我只想知道如何优化过程(如果我可以的话)。
谢谢
我想从数据库中获取 activationCode 的值,然后将其存储到 .txt 文件中。
这是我到目前为止所尝试的。
请帮忙!
注册控制器.php
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'phone' => $data['phone'],
'password' => bcrypt($data['password']),
'activationCode' => rand(1000,9999),
]);
}
public function put() {
$user = User::where('is_active', 0)->get();
$file = Storage::put( 'myfile.txt', $user);
}
Run Code Online (Sandbox Code Playgroud) #!perl6
use v6;
my $longest = 3;
my @list = <a b c d e f>;
for @list -> $element is rw {
$element = sprintf "%*.*s", $longest, $longest, $element;
$element.say;
}
Run Code Online (Sandbox Code Playgroud)
这有效.但在第二和第三,我得到一个错误信息.我怎么能让他们工作?
#!perl6
use v6;
my $longest = 3;
my @list = <a b c d e f>;
for @list <-> $element {
$element = sprintf "%*.*s", $longest, $longest, $element;
$element.say;
}
# ===SORRY!===
# Missing block at line 11, near ""
Run Code Online (Sandbox Code Playgroud)
.
#!perl6
use v6;
my $longest = …Run Code Online (Sandbox Code Playgroud) 据说硬盘中只有一个主轴可以从硬盘读取数据或从硬盘读取数据,如何同时向/从硬盘写入或读取2个或更多数据.使用的操作系统是windows xp.EXAMPLE,我需要将两个不同的电影从笔式驱动器复制到硬盘,所以我点击两个电影从笔式驱动器复制它们并将它们粘贴在磁盘分区中,将两部电影的处理过程复制到硬盘同时发生.这是怎么发生的?
在创建推特应用时我遇到了一个奇怪的问题.
在这里,我应该通过Twitter的应用程序管理服务构建一个具有读写权限的应用程序(实际上是荒谬的服务:/).
所以我到目前为止创建了一个应用程序.但问题在于,当我试图通过Permission选项卡设置"读写"权限时,它会抛出一个错误,说"在授予应用程序写入功能之前,必须将手机添加到Twitter配置文件中.请阅读https://support.twitter.com/articles/110250-adding-your-mobile-number-to-your-account-via-web获取更多信息"
然后,如果我尝试通过我的推特个人资料添加手机号码,那么它会发出一条错误消息:"抱歉,我们还没有与您的运营商建立连接!"
PS我已经尝试过所有主要的运营商,例如Idea,Vodafone,BSNL,DOCOMO.
所以,PLZ帮助我以任何方式摆脱这个问题.
我正在开发一个非常小的程序,其重量传感器连接到S0.以下是我初始化串口的方法:
stty -F /dev/ttyS0 9600 min 60 time 1 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke parenb -ixon
Run Code Online (Sandbox Code Playgroud)
我已经测试了几种写入设备的方式,然后从中读取:
echo IDN? >> /dev/ttyS0
read -t1 output < /dev/ttyS0 # waits for ever here.
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
echo IDN? >> /dev/ttyS0 && read -t1 output < /dev/ttyS0 # waits too
Run Code Online (Sandbox Code Playgroud)
但不成功.在一行中,它不会改变任何东西.
until read -t1 < /dev/ttyS0; do
echo IDN? > /dev/ttyS0
done
identity=$(echo $REPLY | tr -d $'\r')
Run Code Online (Sandbox Code Playgroud)
这在连接设备时有效.
对于我的测试,我做了这个,它工作:
$ cat /dev/ttyS0 &
[1] 9188 …Run Code Online (Sandbox Code Playgroud) 我今天刚开始学习D,我真的需要读取和写入这样的数据:
byte[] bytes = ...;
ByteBuffer buf = new ByteBuffer(bytes);
int a = buf.getInt();
byte b = buf.getByte();
short s = buf.getShort();
buf.putInt(200000);
Run Code Online (Sandbox Code Playgroud)
D中有什么内容可以实现这一点,还是我必须自己制作?
我正在与一位老师交谈,他告诉我读写系统调用正在使用缓冲区,因为系统规范中有一个变量控制您可以访问要读取/写入的设备的次数,并且当他等待在设备上写入时,系统使用缓冲区来存储数据。
我在另一篇 Stack Overflow 帖子(C fopen vs openfopen )上看到和函数的优点之一fwrite是这些函数使用缓冲区(这应该更快)。read我已经阅读了和sys call的手册页write,并且手册页没有讨论任何缓冲区。
我是不是误会了什么?read/ writeC 系统调用缓冲区如何工作?
我正在尝试编写一个简单的程序,该程序使用 ptrace() 挂钩到另一个二进制文件(setuid 二进制文件,子进程运行它),打开一个“标志”文件并打印其内容。挂钩有效,我可以使用 ptrace 命令控制二进制文件。我已经执行了 syscall open(),并得到了一个合法的文件描述符 (4)。
我的问题是系统调用 read() 失败,并返回字节的负值 -21。errno 设置为 0(成功)。这台机器是远程的(32 位),我无法在那里安装 libexplain 库。我已经在网上搜索了很多,但没有找到关于 read() 系统调用的负返回值的含义的答案(根据手册页,它唯一的错误值是 -1 ..)。
父母的代码:
int run_syscall(pid_t pid, int syscall_number, int first_paramter, int second_parameter, int third_paramter) {
struct user_regs_struct regs = { 0 };
ptrace(PTRACE_GETREGS, pid, 0, ®s);
regs.eip = INT80;
regs.eax = syscall_number;
regs.ebx = first_paramter;
regs.ecx = second_parameter;
regs.edx = third_paramter;
ptrace(PTRACE_SETREGS, pid, 0, ®s);
ptrace(PTRACE_SINGLESTEP, pid, 0, 0);}
// eax = 5 (open), ebx = 'flag' path, ecx = …Run Code Online (Sandbox Code Playgroud) 我正在使用Python 3.2和configparser模块,并遇到一些问题.我需要阅读,然后写入配置文件.我尝试了以下方法:
import configparser
data = open('data.txt', 'r+')
a = configparser.ConfigParser()
a.read_file(data)
a['example']['test'] = 'red'
a.write(data)
问题是,当我用r +打开数据时,当我写入数据时,新信息会被追加; 它不会覆盖旧的.
import configparser
data = open('data.txt', 'r')
a = configparser.ConfigParser()
a.read_file(data)
a['example']['test'] = 'red'
data = open('data.txt', 'w')
a.write(data)
这样^似乎不安全,因为打开它会清空文件.如果程序在有时间写入之前崩溃怎么办?配置文件丢失.在用w打开之前,唯一的备份解决方案是什么?
编辑:
以下也是可能的,但是安全吗?
a.write(open('data.txt','w'))
Run Code Online (Sandbox Code Playgroud) read-write ×10
bash ×2
c ×2
system-calls ×2
bytearray ×1
bytebuffer ×1
configparser ×1
d ×1
device ×1
file ×1
for-loop ×1
io ×1
laravel-5.7 ×1
mobile ×1
parsing ×1
perl6 ×1
permissions ×1
php ×1
ptrace ×1
python ×1
raku ×1
rakudo-star ×1
simultaneous ×1
twitter ×1
verification ×1