Articles of unix

从Unix上的文件句柄创build一个硬链接?

如果我有一个打开文件的句柄,是否有可能创build一个硬链接到该文件后,所有的引用已经从文件系统中删除? 例如,像这样的东西: fd = fopen("/tmp/foo", "w"); unlink("/tmp/foo"); fwrite(fd, "Hello, world!\n"); create_link_from_fd(fd, "/tmp/hello"); fclose(fd); 具体来说,我想这样做,以便我可以安全地写入大型数据文件,然后将它们primefaces地移动到原位,而不必担心自己清理后,如果我的程序在写入文件中被杀死。

Autoconf检查struct flock

fcntl()使用struct flock结构来定义和检查文件locking。 不幸的是,在不同的Unix系统中,这个结构中的字段顺序不同。 有谁知道如何用autoconf检查它,或者至less检查结构是否是特定的格式(例如问题是 – 结构格式是否与Linux格式匹配)?

在Unix连接操作中填充空字段

我有两个文件,我想根据第一列进行联合操作: FILE1.TXT foo 1 bar 2 qux 3 FILE2.TXT foo x qux y boo z 我希望得到的结果是这样的: foo 1 x bar 2 – qux 3 y boo – z 其中列1的空字段用“ – ”填充。 但是为什么这个连接命令不能像我预期的那样工作? $ join -a1 -a2 -e"-" file1.txt file2.txt 什么是正确的方法来做到这一点?

使用sed来匹配模式并从行中删除到文件的末尾

我试图从pipe道input和/或文件中匹配一个模式,然后从匹配的行中移除到文件末尾。 我到处寻找,但似乎无法find一个适合我的需求的expression。 下面的expression式允许我删除到stream的开头,包括匹配的模式: sed -e '1,/Files:/d' 给出一些样本数据: Blah blah blah Foobar foo foo Files: somefiles.tar.gz 1 2 3 somefiles.tar.gz 1 2 3 —–THIS STUFF IS USELESS—– BLEH BLEH BLEH BLEH BLEH BLEH 运行上面的expression式会产生: Files: somefiles.tar.gz 1 2 3 somefiles.tar.gz 1 2 3 —–THIS STUFF IS USELESS—– BLEH BLEH BLEH BLEH BLEH BLEH 我想达到类似的效果,但方向相反。 使用从前面的expression式的输出,我想从—–THIS STUFF […]

当列K空AWK / Perl时提取行

我有这样的数据: foo 78 xxx bar yyy qux 99 zzz xuq xyz 他们是制表符分隔。 我怎样才能提取第2列是空的行,yielding bar yyy xuq xyz 我试过这个,但似乎没有工作: awk '$2==""' myfile.txt

如何使用awk来压缩文件

如何为压缩文件更改以下命令? awk 'FNR==NR { array[$1,$2]=$8; next } ($1,$2) in array { print $0 ";" array[$1,$2] }' input1.vcf input2.vcf 该命令正常工作的文件。 我需要更改压缩文件的命令。

Linux / UNIX中COM编程的模拟

组件对象模型(COM)是(或者…)在Windows中提供与语言无关的软件组件的方式。 在Linux / UNIX中是否有任何编程模型,具有通过二进制组件重复使用代码的相同原理?

如何使用C ++ Boost库与pkg-config?

我成功编译并安装了最新版本的Boost库到我的linux机器上。 现在,我希望能够使用pkg-config来简化与GCC提供链接参数的过程。 由于我懒得手工编写我自己的.pc文件,是否有一个脚本/工具,会自动生成所需的.pc文件或以其他方式更新pkg-config与升压标志? (如果某人已经拥有该.pc文件,则也欢迎分享。)

更改ruby进程名称在顶部

我想改变显示在linux / unix top命令中的ruby进程的名字。 我试过了 $0='miname' 的方法,但它只适用于ps命令,最上面的过程不断显示为“ruby”

没有换行的猫文件

在* nix中,如何显示(cat)没有换行的文件:更长的行应该被剪切,以便它们适合屏幕的宽度。