由买买提看人间百态

topics

全部话题 - 话题: fileno
(共0页)
z***i
发帖数: 8285
1
居然解决了,人多力量大啊
我来推荐你一个不同方案吧,非常简单,
五到十分钟可以写好测试好,而且检查起来方便
批量处理数据无压力
但是安装程序,改系统参数什么的需要二十分钟吧
创建文件夹 C:/Data/20150202,把所有原始测试结果放进去,
比如7800个*.out文件
在这里下载并安装 (Cygnus) Cygwin B20
http://www.claremontmckenna.edu/pages/faculty/alee/g++/g++.html
把下面两行########################里的东西存成文件"a2.awk"
放到C:/Data/20150202里面
########################
BEGIN {
{fileno=0}
{printf " #|%12s|%12s|%22s\n","Temp","Value","File"}
}
{ if (FNR==1) {
{FileNo=FileNo+1 }
{printf "%4i|",FileNo}
}
}
/30./,/10;/ {
if ($1==30... 阅读全帖
z***i
发帖数: 8285
2
昨天回过你之前那个问题
/30./,/10;/ {
if ($1==30. ) {
里的30.是你的30度,可以改别的,可以改成i=i+1等等
$1是excel的A,$2是B
你自己可以根据需要改
-----------------------------------------
居然解决了,人多力量大啊
我来推荐你一个不同方案吧,非常简单,
五到十分钟可以写好测试好,而且检查起来方便
批量处理数据无压力
但是安装程序,改系统参数什么的需要二十分钟吧
创建文件夹 C:/Data/20150202,把所有原始测试结果放进去,
比如7800个*.out文件
在这里下载并安装 (Cygnus) Cygwin B20
http://www.claremontmckenna.edu/pages/faculty/alee/g++/g++.html
把下面两行########################里的东西存成文件"a2.awk"
放到C:/Data/20150202里面
########################
BEGIN {
{fileno=0}
{printf " ... 阅读全帖
z***i
发帖数: 8285
3
下面这里面的
if ($1==30. || $1==-30. || $1==99. ) {
里面里可以改,结果是列出所有文件里温度30,-30,和99的
比如改成
if ($1<=0. && $1>=-30. ) {
结果是列出所有文件里温度-30到0度的
你还可以根据你要的值来判断,比如 $3>=0.等等
还可以光列最大值最小值整数值等等
但复杂循环需要知道你的数据文件的结束格式,否则死循环
########################
BEGIN {
{fileno=0}
{printf " #|%12s|%12s|%22s\n","Temp","Value","File"}
}
{ if (FNR==1) {
{FileNo=FileNo+1 }
}
}
/30./,/10;/ {
if ($1==30. || $1==-30. ||$1==99. ) {
a1=$1
a3=$3
{printf "%4i|",FileNo}
{printf "%12f|%12f|%22s\n",a1,a3,FILENAME}
}
}
#... 阅读全帖
A*****o
发帖数: 284
4
来自主题: JobHunting版 - 贡献几个G的题吧
第一题用awk写了个献丑了, 后两题求指点 ?
第二题感觉就是个排序问题? 需要给定一个胜负判别的函数吧?类似cmp
附第一题代码,用小文件测试了下,不知G家怎么考脚本了?楼主是什么职位?
#!/bin/awk -f
BEGIN {
line = 0;
fileno = 1;
}
{
# swap 1st and last column
tmp = $1;
$1 = $NF;
$NF = tmp;
arr[line] = $0;
line++;
# counter and print
if (NR % 500 == 0) {
file = sprintf("split_%d.txt", fileno);
for (i = 0; i < line; i++) {
print arr[i] >> file;
}
line = 0;
fileno++;
}
}
d*****u
发帖数: 17243
5
来自主题: Programming版 - Python有什么好的方法建two-way pipe?
我找到一个相对简单的办法,贴一下。
自己定义一个class,
read和write代替默认的读写方式
class Pipe(subprocess.Popen):
def __init__(self, argv, timeout = 0):
self.timeout = timeout
subprocess.Popen.__init__(self, argv, stdin = subprocess.PIPE,
stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
def write(self, data):
poll = select.poll()
poll.register(self.stdin.fileno(), select.POLLOUT)
fd = poll.poll(self.timeout)
if len(fd):
f = fd[0]
if f[1] > 0:
... 阅读全帖
g*******s
发帖数: 490
6
以下是我的答案,不保证完全正确
1. declaration determine type of variable, definition allocate space
2. 要考虑big-endian,small-endiar,还有int的size。。。不是很确定答案
4. legal,把point指向string在的constant空间
5. macro是给c++用的
6. void * memcpy(void * , const void *, size_t )
8. main
9. none, stat can get file size, but considering if the file is very very
big, it would overflow
10. fileno
12.ctime
13. sprintf
14. long c = (long)a*b
15.16.19 程序自己run一下
17. just remember in C if you have char a[n]="xxxxx"
a[1] and 1[a] do the same thin... 阅读全帖
S*A
发帖数: 7142
7
来自主题: Programming版 - C10M 练习 step 1: 10M sockets
我觉得大家讨论很热情,
我们来做点练习吧,不要光说不练。
下面这个程序是暴露一些写 C10M 可能碰到的问题,
看看大家有没有神魔解决方法。如果有,请贴程序或者
脚本,方便他人重复实验.
如果实在没有人贴答案,我也可以公布我自己的。
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int i;
for (i = 0; i < 1024*1024*10; i++) {
int s;
s = socket(PF_INET, SOCK_STREAM, 0);
if (s < 0) {
char buffer[1024];
snprintf(buffer, sizeof buffer, "socket #%d", i);
perror(buffer);
... 阅读全帖
o***z
发帖数: 133
8
来自主题: Unix版 - System Environment variables in Perl
but they don't invoke system calls like
syscall(&SYS_write, fileno(STDOUT), $s, length $s);
m*****e
发帖数: 4193
9

fd = fileno(fp);
no way to convert back.
(共0页)