|
N****w 发帖数: 21578 | 2 用 ls , xargs, mv, iconv 写个命令把所有文件从 utf8 改成 gbk
该怎么写?
iconv 这牙的只认 stdin stdout
u |
|
l*l 发帖数: 26 | 3 In bash, I use "some_command > out.txt 2>&1".
But I still saw some output in the console.
How is this possible??? |
|
t*****g 发帖数: 1275 | 4 what about
some_command 2>&1 > out.txt |
|
|
t*****g 发帖数: 1275 | 6 It's probably the output of your current shell. |
|
h*******c 发帖数: 248 | 7 我一般是在script里用gnuplot。比如在perl里
open GNUPLOT, "| /usr/bin/gnuplot -persist";
select GNUPLOT; $| = 1;
select STDOUT;
然后直接把命令print到GNUPLOT里。画完了,就close GNUPLOT; 想画几个图,open几
次就可以了。 |
|
f*****g 发帖数: 3086 | 8 怎么查看一个后台进程的stdout和stderr啊?linux x86_64
我搜了一下:linux attach to process 64-bit没什么收获,求高人指点一二,感激不
尽! |
|
v*****r 发帖数: 1119 | 9 你没看清我问的问题: grep -v 是根据什么设 exit status 的? Manual 里没提到。
从以下这两个 commands 的对比来看,似乎只能是根据 grep -v 后还有没有 line(s)
left for stdout 来决定 exit status 的value了。
{ echo "aa"; } | grep -v "aa" ; echo $?
{ echo "aa"; echo "bb"; } | grep -v "aa" ; echo $?
有时间俺会 check out grep 的 source code 来 confirm 一下。
and |
|
h***r 发帖数: 726 | 10 没有 >& 这么个玩意。
&是和后面的东西结合的
eg: redirect stderr to stdout
a.out 2>&1 |
|
x**m 发帖数: 941 | 11 用&没用,需要把stdout/stderr重定向。 |
|
S*A 发帖数: 7142 | 12 FT, 我不是说了么,你不要 unzip 到磁盘上,直接 unzip 到 stdout
然后 pipe 到 md5sum/sha1. 慢主要是写硬盘引起的。我的这个方法只需要读
一次所有的数据就可以比较了。读一次是肯定需要的,不然你怎么可能
确认你没有读的部分是不是对的?这个已经是接近最优化的方法了。 |
|
s*****k 发帖数: 604 | 13 Window和unix-like系统中,如何启动一个外部程序,
并且设置它的环境变量,输入一些数据到这个程序stdin,
并且获得这个程序输出到stdout的结果?
问这个问题是想知道编写支持CGI的web服务器的大致原理。 |
|
S*A 发帖数: 7142 | 14 stderr redirect to stdout |
|
s****a 发帖数: 6521 | 15 请问,怎么简单地实现:
输出重定向到文件;但如果未定义输出文件,则输出到屏幕
用 >${xx:-&1} 好像不行,>${xx:-$STDOUT}好像也不行 |
|
x**m 发帖数: 941 | 16 你确认getent passwd里面有xyz? 想来这个输出应该是到stdout而不是stderr,如果
grep没有,那就有点奇怪了。 |
|
s**********g 发帖数: 139 | 17 Screen is good. or you have to redirect stdout, stderr, stdin:
nohup ./sas a.sas > a.sas.out 2> a.sas.err < /dev/null & |
|
w***g 发帖数: 5958 | 18 1. 先确保是否真的写到了stdout,单独运行perl cgi的时候用 > xxx看你要的输出有
没有重定向到xxx里面。
2. 换一个目录运行perl cgi看是不是还正确。apache调用cgi的时候目录可能和你用的
不一样。
3. 用sudo执行perl cgi,看是不是还是正确。apache调用你的程序会用apache/www/
www-data类似的用户名调用。你可以su到该用户运行一下看是否正确。
4. 看apache的错误日志, /var/log/apache2/error.log。
perl |
|
o******1 发帖数: 1046 | 19 多谢指点!
这个开始就试过了。system()跟``不同,不是把里面的命令的stdout输出,而是执行一
下命令,再把exit status输出,所以返回的结果是0或者1。有点相似的还有exec(),
这个干脆就光执行命令,什么也不返回。 |
|
s**p 发帖数: 1097 | 20 谢谢谢谢,原来这两个&功能完全不同啊,我一直照着第二个的功能想去理解第一个……
stdout
a
o |
|
e******r 发帖数: 220 | 21 how about change standard out from "stdout" to "FILE". Here "FILE" is
some file handler? Like,
select FILE;
print "....";
Then the print result would be in that file.
using
running
where |
|
t******n 发帖数: 138 | 22 对不起,没说清楚,
B程序prints a value to stdout。
我的程序是在linux下运行,不是ANSI C也行。 |
|
c**t 发帖数: 2744 | 23 下面这一段code在W2k3下运行一段时间就停止了(没有新的timestamp打印到stdout),
可能是怎么回事?
#!C:\perl\bin -w
use strict;
my ($t1, $t2, $dt);
my $DIR = 'C:\Scripts';
my $PHP = 'C:\PHP\php.exe';
my $SRC = 'getData.php';
my $INTERVAL = 3;
chdir($DIR);
my $i = 0;
while(1)
{
$t1 = time;
system($PHP, $SRC);
$t2 = time;
$dt = ($INTERVAL * 60) - ($t2 - $t1);
if($dt > 0)
{
print "[", scalar(localtime(time)), "] Sleeping $dt seconds\
n";
sleep( $dt );
|
|
s********g 发帖数: 13 | 24 i have two programs, P1 print one line of data to stdout every 1 sec.
P2 read in data from stdin and do some processing, now I am using pipe
as follows in linux:
P1 | P2
what happens is that P2 is not getting data from the pipe every sec, it
seems
that it wait for the pipe to be filled full by P1, and read a lot of lines
out.
My question is: why the pipe performs like this way? wouldn't P2 should
read one line as soon as it sees a '\n'? |
|
k****f 发帖数: 3794 | 25 把原来的stdout保存下来
最后给恢复一下。 |
|
t****t 发帖数: 6806 | 26 他这段问题不在这里(因为stdout缺省是line buffered)
我假设他STDOUT_FILENO=1
那么他作的是
dup2(fdout, 1)
...
dup2(1,1)
...
这就好象写:
a1=a_fdout;
// use a1 as a_fdout
a1=a1;
// trying to recover previous a1
这显然不make sense... |
|
t****t 发帖数: 6806 | 27 对了,你这个办法不太安全
理论上来说stdout不一定是lvalue,正确的做法是用freopen.当然,freopen就把原来的
给关了. |
|
c********x 发帖数: 84 | 28 Things look more complicated than they appears,
The call:
fid = dup2(fildes, fildes2);
is equivalent to:
close(fildes2);
fid = fcntl(fildes, F_DUPFD, fildes2);
When you "dup2(fdout,STDOUT_FILENO);" you close the stdout, no way
you can use 1 to reopen it.
|
|
y**u 发帖数: 42 | 29 初学程度。
最近做一个web service的项目,具体的endpoint还没出来,要求先写test client准备
测试。
Test Client端需要用到一个外部的dll,决定用python (with ctype)写。古了一下,
发现python没有官方的soap库,SOAPpy只有for python 2.2版本的,我们的测试环境全
部预装2.5版本的。(之所以提SOAPpy是因为和新的ZSI比它网上的文档实例似乎比较多
,虽然是同一样东西。)
小试了一下ZSI,在localhost上deploy了一个简单的服务,i.e. Test.asmx,提供一个
web method
int Add(int a, intb)
{
return (a+b);
}
http://localhost:8085/Test.asmx/Add?a=1&b=2
运行正常。
但是用zsi中的binding return 403
mb = Binding(host='localhost', port=8085, url='/Test.asmx', tracefile=sys.
stdout)
re |
|
w***g 发帖数: 5958 | 30 perl is really much (an order of magnitude, I would say) faster than python
in string processing. The benchmark you posted is too simple to tell someth
ing practical.
(Two test programs were measured:
Hello - Prints "Hello World" to stdout.
Inc - Increments a variable, starting at 0.
Each program does one-million iterations, and is run ten consecutive times.) |
|
p***o 发帖数: 1252 | 31 从WinMain进去,有参数就起一个console,把stdout/stderr挂上去,
没参数该干嘛干嘛。 |
|
c**t 发帖数: 2744 | 32 you can catch stdout and stderr |
|
s******a 发帖数: 318 | 33 又写了个简单的code:
int main()
{
printf ("Adding something into out.txt");
FILE* fp;
int i = 100;
char * ch = "XXXXXXy";
fp=fopen("out.txt", "w");
while (i > 0)
{
sleep (1);
fprintf(fp, "%s", ch);
fflush(stdout);
printf ("ADDD");
i--;
}
}
编译没有问题,但是out.TXT文件根本就没有被写入,但是如果注释掉sleep语句就可以
写入,请问这是为什么? |
|
E*********s 发帖数: 11 | 34 程序如下
#!d:/strawberry/perl/bin/perl.exe
#
#use strict;
use CGI;
use IO::Handle;
$myCGI = new CGI;
#$| = 1;
my $url="some url";
print $myCGI->header;
my $test="\n
\n";
STDOUT->autoflush(1);
print $test;
my $time = time();
my $timestamp = localtime($time);
print $timest... 阅读全帖 |
|
s*****k 发帖数: 604 | 35 【 以下文字转载自 Linux 讨论区 】
发信人: sixpack (InGodWeTrustAllOthersWeMonitor), 信区: Linux
标 题: 编写支持CGI的web服务器大致原理
发信站: BBS 未名空间站 (Fri Mar 11 10:39:06 2011, 美东)
Window和unix-like系统中,如何启动一个外部程序,
并且设置它的环境变量,输入一些数据到这个程序stdin,
并且获得这个程序输出到stdout的结果?
问这个问题是想知道编写支持CGI的web服务器的大致原理。 |
|
b******e 发帖数: 432 | 36 是道测试题了,周五早上之前给出答案才有效。
希望有PERL经验的同学指点一下,多谢啦!
There are errors in the following code, both in logic
and in syntax. Find the errors and provide the correct
fixes.
# this function prints something to stdout, unless
# the option parameter is set to STDERR, and then it
# prints out to stderr
sub writeOut
{
my $message = shift;
my $option = shift; #optional
if( $option eq 'STDERR' )
{
print STDERR $message . "\n";
}
else
{
print $message . "\n";
}
}
# this function get... 阅读全帖 |
|
b******e 发帖数: 432 | 37 # For this function, I think the original one is semantically wrong.
# Based on the description, I think it always needs to print to STDERR.
# However, when the option is not STDERR, it needs to print to STDOUT as
well.
#
# Besides, I may improve it by add some the restrict to input or add more
match pattern to the option, Ex:
# 1. I may trim the $option before compare.
# 1. The input option might be 'stderr', I may modify it to .
# 2. There might no input option, or no input message.
s... 阅读全帖 |
|
r****t 发帖数: 10904 | 38 直接朝 stdout 写就行了。有命令能刷新显示的。 |
|
S*A 发帖数: 7142 | 39 你这个 Python Code 太弱了。
Python 就是要把循环部分放到 C 里面实现。
Python 的强项是有很多 library 要好好利用。
就是 几百 M 的文件一次读进来处理更快。
尽可能避免用 Python code 来做 Loop.
试试这个会不会好些。至少代码量会短很多吧。
这个假设输入文件每行都有至少 10 个 column。
import sys
import re
data = sys.stdin.read()
lines = re.findall(r'(?m)^((?:[^\t]*\t){9,9})([^\t]*)(.*)', data)
valmap = {}
output = [ head + valmap.setdefault(mid, str(len(valmap)+1)) + tail + '\n'
for head,mid,tail in lines]
sys.stdout.write(''.join(output)) |
|
S*A 发帖数: 7142 | 40 你这个 Python Code 太弱了。
Python 就是要把循环部分放到 C 里面实现。
Python 的强项是有很多 library 要好好利用。
就是 几百 M 的文件一次读进来处理更快。
尽可能避免用 Python code 来做 Loop.
试试这个会不会好些。至少代码量会短很多吧。
这个假设输入文件每行都有至少 10 个 column。
import sys
import re
data = sys.stdin.read()
lines = re.findall(r'(?m)^((?:[^\t]*\t){9,9})([^\t]*)(.*)', data)
valmap = {}
output = [ head + valmap.setdefault(mid, str(len(valmap)+1)) + tail + '\n'
for head,mid,tail in lines]
sys.stdout.write(''.join(output)) |
|
F********g 发帖数: 475 | 41 请高人解释一下为啥这个输出总是"HELLO-ERR"
#include
#include
int main()
{
while(1)
{
fprintf(stdout,"hello-out");
fprintf(stderr,"hello-err");
sleep(1);
}
return 0;
} |
|
|
d****n 发帖数: 1637 | 43 if you dont mind change the output to adding '\n'
then it will work.
'\n' can flush, no need to call fflush()
#include
#include
int main()
{
while(1)
{
fprintf(stdout,"hello-out\n");
fprintf(stderr,"hello-err\n");
sleep(1);
}
return 0;
} |
|
w******p 发帖数: 166 | 44 in first line $amt is interpreted as the file handle, which is neither
stdout or stderr, but if you add this after after $amt=2 you'll see the
print out:
open $amt, "|cat"; # anonymous pipe |
|
C****i 发帖数: 1776 | 45 shell是解释形语言,变量不需要明确定义,整型浮点型无所谓。
shell获得运行程序的返回值真假,可以用变量 $?
如果要在shell和程序之间传递变量,可以考虑使用管道或者重定向
把程序的标准输出 stdout重定向到一个shell变量,反之亦然。
请自行搜索解决方案 |
|