Articles of shell

并排显示两个文件

如何将两个未sorting的不同长度的文本文件并排显示在一个shell (列) 给定one.txt和two.txt : $ cat one.txt apple pear longer line than the last two last line $ cat two.txt The quick brown fox.. foo bar linux skipped a line 显示: apple The quick brown fox.. pear foo longer line than the last two bar last line linux skipped a line paste one.txt two.txt几乎做的伎俩,但没有很好地alignment列,因为它只是列1和2之间打印一个选项卡。 我知道如何与emacs和vim,但希望输出显示为标准输出pipe道等。 […]

在Mac和Linux的文本文件中进行recursionsearch和replace

在linux shell中,下面的命令将recursion地search并用'that'代替'this'的所有实例(我没有在我之前的Linux shell,但应该这样做)。 find . -name "*.txt" -print | xargs sed -i 's/this/that/g' OSX上的类似命令是什么样的?

如何过滤掉文件中的所有唯一行?

有没有办法通过命令行工具过滤出文件中的所有独特的行而不sorting行? 我想实质上做到这一点: sort -u myFile 没有sorting的性能打击。

使用exec()系列运行“cd”命令

我知道cd是一个内置的shell,我可以使用system()来运行它。 但有可能通过exec()系列运行cd命令,就像execvp() ? 编辑:我只是注意到, system("cd")也没有意义。感谢大家的帮助。

在环境variables中的波浪扩展

在我的.sh文件中,我有这个, cp $file $SOME_PATH ,而$ SOME_PATH被导出为export SOME_PATH="~/path/to/path/" 。 但是当我运行这个.sh文件的时候,我收到了一个错误消息,说*不存在这样的“〜/ path / to / path /”*我replace为$ HOME,那么错误消失了。 那么在这里波浪呢? 提前致谢。

bash,找不到命令

我无法修复这个bash脚本中的错误,我严重不知道我做错了什么,任何帮助表示赞赏谢谢 [centoslive@livecd ~]$ sh ListFich.sh test Synthese, Question 2 ListFich.sh: line 9: [-d: command not found Il n'y a aucun repertoire qui se nomme test ListFich.sh: line 15: [-f: command not found Il n'y a aucun fichier qui se nomme test [centoslive@livecd ~]$ #!bin/bash echo "Synthese, Question 2" if test $# -eq 0; then echo […]

UNIXsorting忽略空格

这是一个简单的问题。 给定一个文件txt : ab ac aa 当调用sort txt ,我得到: aa ab ac 换句话说,这是不正确的sorting,这种删除/忽略空格! 我期望这是sort -i的行为,但它发生有或没有-i标志。 我想获得“正确的”sorting: aa ac ab 我该怎么做?

如何使“grep”从文件中读取模式?

假设有一个大的文本文件,我想只打印不符合某些模式的行。 显然,我可以使用egrep -v 'patter1|pattern2|pattern3 。 现在如果所有这些模式都在一个文本文件中呢? 从文件中使egrep读取模式的最好方法是什么?

如何使用linux shell脚本删除文件中的^ [和所有转义序列

我们要删除^[和所有的转义序列。 sed不工作,并给我们这个错误: $ sed 's/^[//g' oldfile > newfile; mv newfile oldfile; sed: -e expression #1, char 7: unterminated `s' command $ sed -i '' -e 's/^[//g' somefile sed: -e expression #1, char 7: unterminated `s' command

在C中实现多个pipe道

我试图在C中的shell中实现多个pipe道。我在这个网站上find了一个教程,我所做的function是基于这个例子。 这是function void executePipes(cmdLine* command, char* userInput) { int numPipes = 2 * countPipes(userInput); int status; int i = 0, j = 0; int pipefds[numPipes]; for(i = 0; i < (numPipes); i += 2) pipe(pipefds + i); while(command != NULL) { if(fork() == 0){ if(j != 0){ dup2(pipefds[j – 2], 0); } if(command->next != NULL){ […]