小编per*_*eal的帖子

检查命令的输出是否包含shell脚本中的某个字符串

我正在编写一个shell脚本,我正在尝试检查命令的输出是否包含某个字符串.我想我可能不得不使用grep,但我不确定如何.有人知道吗?

bash shell grep

90
推荐指数
5
解决办法
12万
查看次数

安装matplotlib时出错

我已尝试使用pip install matplotlib,git clone然后python setup.py install按照Mac OS 10.7 的安装常见问题所述.但是我得到了同样的错误:

[...]
llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I. -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/ft2font.cpp -o build/temp.macosx-10.7-intel-2.7/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
In file included from src/ft2font.cpp:3:
src/ft2font.h:16:22: error: ft2build.h: …
Run Code Online (Sandbox Code Playgroud)

python linux matplotlib

36
推荐指数
2
解决办法
2万
查看次数

C++ 11 lambda按值捕获在声明点捕获

下面的代码打印0,但我希望看到1.我的结论是lambda函数不是通过实际将捕获的参数传递给函数来调用的,这更直观.我是对的还是我错过了什么?

#include <iostream>
int main(int argc, char **argv){
  int value = 0;
  auto incr_value  = [&value]() { value++; };
  auto print_value = [ value]() { std::cout << value << std::endl; };
  incr_value();
  print_value();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ lambda c++11

31
推荐指数
3
解决办法
1万
查看次数

如何在不解压缩的情况下列出zip存档中的文件?

如何ls在不解压缩的情况下从命令shell 获取等效的.zip文件(而不是gzip)?也就是说,如何列出我的.zip存档中压缩的不同文件?

unix linux bash shell zip

27
推荐指数
6
解决办法
5万
查看次数

删除符号链接libc.so.6后如何恢复?

在我们的服务器中,符号链接libc.so.6已被删除.现在系统中的二进制文件都没有工作.为了解决这个问题,我尝试了:

/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)

正如所料,这给了我:

/bin/ln: error while loading shared libraries: libc.so.6: 
    cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

/lib/ld-linux-x86-64.so.2  --inhibit-rpath /lib/libc.so.6 \
   --library-path /lib/libc-2.11.3.so \
   /bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)

结果相同.进一步不成功的尝试包括cp,mv,cat.

我通过ssh连接,我相信在关闭这个会话后我将无法打开另一个会话.有没有办法修复这个系统(也许使用bash内置函数)?

[ 编辑 ]我做了:

while read line; do echo $line; done < /lib/libc-2.11.3.so > libc.so.6
Run Code Online (Sandbox Code Playgroud)

复制文件并尝试使用:

/lib/ld-linux-x86-64.so.2  --inhibit-rpath libc.so.6 --library-path . \
  /bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)

得到了:

/bin/ln: error while loading shared libraries: ./libc.so.6: ELF file OS ABI invalid
Run Code Online (Sandbox Code Playgroud)

linux glibc shared-libraries

21
推荐指数
4
解决办法
3万
查看次数

unix-显示文件的第二行

此命令显示文件的第二行:

cat myfile | head -2 | tail -1
Run Code Online (Sandbox Code Playgroud)

我的文件包含以下数据:

hello
mark
this is the head line
this is the first line 
this is the second line 
this is the last line
Run Code Online (Sandbox Code Playgroud)

上面的命令将数据打印为: mark

但我无法理解这一点,因为,头-2用于打印前两行而尾-1打印最后一行但是如何打印第二行!! ???

unix

18
推荐指数
3
解决办法
5万
查看次数

bash ls; 输出修改文件的时间,包括年和秒

我想输出修改文件的时间,包括年和秒.我尝试使用ls -linT,意思是-T必须这样做,但事实并非如此.-T被识别为制表大小.我正在使用ls搜索解决方案.有人可以帮帮我吗?

linux bash ls

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

我可以在Facebook上发布格式化的源代码吗?

我想在Facebook上创建一个页面,我想在其中发布不同语言的代码.

  1. Facebook是否提供在墙上发布格式化代码的任何方式?
  2. 在Facebook上有没有这样做的API?
  3. 是否有可能使用stackoverflow服务不问一个问题但是与一个组分享,比如一个私人问题?

facebook code-formatting

13
推荐指数
3
解决办法
5511
查看次数

C标准对两种相同类型的联合说了什么

是否有可能在任何架构上使用任何编译器使以下断言失败?

union { int x; int y; } u;
u.x = 19;
assert(u.x == u.y);
Run Code Online (Sandbox Code Playgroud)

c types unions

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

将shared_ptr <T>转换为shared_ptr <void>

我有一个结构:

struct Params {
   std::shared_ptr<void> user_data;
   /* ... */
};
Run Code Online (Sandbox Code Playgroud)

我想这样使用它:

int main() {
  std::shared_ptr<SpecializedParams> sp(new SpecializedParams(100));
  Params params;
  /* ... */
  params.user_data = std::static_pointer_cast<void>(sp); 
  /* ... */
  std::shared_ptr<SpecializedParams> sp2 = 
    std::static_pointer_cast<SpecializedParams>(
      params.user_data
    );
  /* ... */
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这有效且安全吗?

c++ casting shared-ptr c++11

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