小编Sac*_*tye的帖子

将'find'命令的输出重定向到'vim'

我正在查找$ PWD -name'filename'| vim -

期望在vim编辑器中打开文件文件名.但它不起作用.在这种情况下,我确信只存在一个名为'filename'的文件.

find的结果也给出了stdout的完整路径.

vim redirect find

16
推荐指数
2
解决办法
6487
查看次数

xargs 通过管道传输 ls 命令的输出

我正在运行命令

ls *my_file.txt* | xargs vim
Run Code Online (Sandbox Code Playgroud)

shell 会抛出警告消息:

Vim: Warning: Input is not from a terminal
Run Code Online (Sandbox Code Playgroud)

随后文件被打开。请注意,*my_file.txt* 只有一个实例。退出文件时,我看到每次输入时提示符不在下一行,而是在同一行继续。这些字符不是在显示器上键入的,而是被缓冲并在后续输入时执行。基本上,显示器会出现问题。

其目的基本上是将搜索到的 file_name 通过管道传递给 vim。因此,欢迎任何替代解决方案。

linux ls xargs

5
推荐指数
1
解决办法
8106
查看次数

用lambdas编译一个简单的C++ 0x程序时遇到麻烦

我试图运行一个简单的lambda示例.

// lambda.cpp
#include <functional>
//#include <tr1/functional> 

int main()
{
   // Assign the same lambda expression to a function object.
   function<int (int, int)> f2 = [] (int x, int y) { return x + y; };
   //function<int (int, int)> f2 = [] (int x, int y) { return x + y; };
}
Run Code Online (Sandbox Code Playgroud)

我正在编译它像这样:

$ g++ -std=c++0x -fpermissive lamdas.cpp
lambdas.cpp: In function ‘int main()’:    
lambdas.cpp:10: error: expected primary-expression before ‘=’ token
lambdas.cpp:10: error: expected primary-expression before ‘[’ token
lambdas.cpp:10: error: …
Run Code Online (Sandbox Code Playgroud)

c++ lambda compiler-errors c++11

2
推荐指数
1
解决办法
1410
查看次数

awk分裂问题

我写了一个小脚本,用awk'split'命令获取当前目录名.

echo $ PWD

由于拆分操作,我需要将'8'替换为令牌数.//如果PWD =/home/username/bin.我想把"bin"打包成包.

package="`echo $PWD | awk '{split($0,a,"/"); print a[8] }'`" 
echo $package 
Run Code Online (Sandbox Code Playgroud)

你能否告诉我用什么代替'print a [8]'来使脚本适用于任何目录路径?

-Sachin

awk split

1
推荐指数
1
解决办法
3852
查看次数

标签 统计

awk ×1

c++ ×1

c++11 ×1

compiler-errors ×1

find ×1

lambda ×1

linux ×1

ls ×1

redirect ×1

split ×1

vim ×1

xargs ×1