Articles of unix

如何使用egrep列出符合正则expression式的单词?

我需要使用egrep来计算包含匹配正则expression式的string的单词。 例如,我需要做一些事情,比如“计算包含三个连续元音的字数”(不完全是这样,但这是它的要点)。 我已经想出了如何计算包含这些单词的行,但是当我添加-w标记时,我得到一个egrep: illegal option — w错误。 下面是我用来计算上面的场景中的行的正则expression式,这似乎工作: egrep -i -c '[aeiou][aeiou][aeiou]' full.html 在这个命令中使用-w标签会导致上面列出的错误,即使我在正则expression式附近添加了\ b标签。 例如: egrep -i -c -w '\b.*[aeiou][aeiou][aeiou].*\b' full.html 我究竟做错了什么? 编辑:我在Solaris 10上运行这个terminal。

查找和sorting目录

我需要find不超过30天的目录,然后按datesorting(从最新到最旧)。 这是我的命令: find /tmp/logs/ -maxdepth 1 -mindepth 1 -type d -mtime -30 问题显然是sorting部分:)

父和子代之间的文件描述符共享

在Unixnetworking编程中,有一个Pre-forked服务器的例子,它使用Unix域pipe道上的消息传递来指示subprocess处理一个传入的连接: for ( ; ; ) { rset = masterset; if (navail <= 0) FD_CLR(listenfd, &rset); /* turn off if no available children */ nsel = Select(maxfd + 1, &rset, NULL, NULL, NULL); /* 4check for new connections */ if (FD_ISSET(listenfd, &rset)) { clilen = addrlen; connfd = Accept(listenfd, cliaddr, &clilen); for (i = 0; […]

用shell查找pdf内部的string

我想知道是否有任何方法来检查是否有一个pdf文件中使用shell脚本的string? 我正在寻找像这样的东西: if [search(string,pdf_file)] > 0 then echo "exist" fi

testing – 有意使用“dd”破坏.Z文件

我试图testing我的Python程序,该程序需要使用.zip或.Z文件,并使用Python的zipfile模块或Unix的gzip分别进行解压。 它确&#x4FDD;在尝试做任何事情之前,文件types是.zip或.Z(在后一种情况下,使用Unix的file命令)。 我想在非常罕见的情况下testing我的error handling,在这种情况下,经过validation的归档文件在解压缩时出错。 所以基本上,我想给它一个腐败的.Z文件。 有人build议我可以使用Unix的dd命令来搞定一个好的.Z文件,并将其用作我的错误input。 我找不到任何使用dd的例子,希望有人能提供一个简单的例子。 我知道我不应该歪头,因为这是元数据告诉我们这是一个.Z文件。 所以我知道我需要搞乱一些中间和一些结束…感谢您的任何帮助。

iOS:Unix:Mac从关于支持的体系结构的静态库中提取信息。 怎么样?

我在我的Mac上有一个静态库,并且好奇地知道这个库是不是为armV7架构而build造的? 是否有任何命令/工具可用于显示此库中支持的体系结构? 谢谢你,卡姆兰

我怎样才能将我的文件分割成多个文件?

我想分割成多个文件的文件。 我的意见是 Report : 1 ABC DEF GHI JKL End of Report $ Report : 2 ABC DEF GHI JKL $ Report : 2 ABC DEF GHI JKL End of Report $ Report : 3 ABC DEF GHI JKL End of Report $ 输出应该是: 文件1 Report : 1 ABC DEF GHI JKL End of Report […]

如何从terminal读取date,并与当前date进行比较

我想知道从terminal读取date和使用shell脚本比较当前date的适当方式, 我有下面的脚本, a=`date +%Y-%m-%d` while [ 1 ] ; do echo "Enter Date" read todate if [ $todate < $a ];then break; fi echo "todate greater than curDate" done 它没有按预期运行。 请帮帮我。 UPDATE 这是我的最终版本, #! /bin/bash DATE=$(date '+%s') while [ 1 ] ; do echo "Enter Date[DD MM YYYY]:" read DMY THIS=$(date -d "$Y-$M-$D" '+%s') if […]

一个过程组必须有一个正在运行的领导过程?

在类Unix操作系统中,如果一个进程的pid和它的pgid是相等的,那么这个进程是一个进程组的领导者。 但是,如果stream程负责人已经退出,并且同一组中的其他stream程仍在运行,那么成功的领导者stream程是谁?

将subprocess的stdin和stdoutredirect到pipe道

编辑:解决scheme是 int c1=dup2(pipes[0][1],STDOUT_FILENO); int c2=dup2(pipes[1][0],STDIN_FILENO); setvbuf(stdout,NULL,_IONBF,0); SETVBUF将stdout设置为非缓冲。 即使我正在打印换行符,如果目标不是一个实际的屏幕,我想,它变得缓冲。 编辑:当我把fflush(标准输出)后LINE 1和fflush(fout) LINE 4后,它按预期工作。 但是,如果没有第一行之后的fflush(stdout) ,它就不能工作。问题是我不能将fflush放到我计划运行的程序中。 我正在尝试从我的过程开始另一个程序。 我没有访问它的代码,但我知道它使用标准input和标准输出用户交互。 我试图通过创build2个pipe道来启动该程序,将subprocess的stdin / stdout分叉并redirect到适当的pipe道末端。 要点是,父应该能够通过文件描述符与孩子通信,而其标准input/标准输出应该是完整的。 POPEN系统调用只打开单向pipe道。 下面的代码几乎可以工作。 有4行标记为LINE 1..4。 LINE 1是发送到pipe道的subprocess,LINE 2是从pipe道接收的subprocess,LINE 3是向pipe道发送的父进程,LINE 4是从pipe道接收的父进程, 这只是一个玩具的例子,以确保事情的工作。 问题是,所有4行LINE1..4都是未注释的输出,我看到在terminal上 PARENT1: -1 FD: 1 0 4 5 0 1 DEBUG1: 0 DEBUG2: 0 而如果LINE 1和LINE 3没有注释,我只能看到连续的数据stream。 如果只有LINE 2和LINE 4未注释,则会发生同样的情况。 但是,我想要一个完整的双向通信。 同时添加注释的SLEEP不会改变行为。 这里可能是什么问题。 我想知道为什么没有双向POPEN。 int […]