小编dan*_*dan的帖子

除了SeleniumRC,还有什么好的工具可以获取网页,包括JavaScript后期绘制的内容?

一个主要的缺点curl是越来越多的网页的主要内容是由在初始 HTTP 响应之后发生的 JavaScript AJAX 响应绘制的。curl从不接受这个后期绘制的内容。

因此,为了从命令行获取这些类型的网页,我只能用 Ruby 编写脚本来驱动 SeleniumRC 启动 Firefox 实例,然后在这些 AJAX 调用完成后返回源 HTML。

为此类问题提供更精简的命令行解决方案会好得多。有谁知道吗?

wget html http curl selenium

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

您更喜欢 bash 脚本还是快捷方式的别名?

我有一个~/bin目录(在我的 上PATH),我在其中存储了很多小 1 或 2 行脚本。其中一些只是cd进入一个目录并在文件上运行命令,例如vim或其他东西。但是我的文件中也有很多别名.bash_aliases用于相同的目的。

您如何在编写一个小 bash 脚本和编写别名之间做出决定?你走哪条路重要吗?

scripting alias shell-script

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

Web 应用程序设计中是否已经放弃了 Unix 哲学?

Unix 哲学鼓励使用小型的、一般可重用的协作程序,这些程序与进程间通信的形式协作,如管道、先进先出、套接字,而不是共享内存空间和链接。程序 MH 和 uzbl 通常作为应用程序的示例给出,这些应用程序在其设计中体现了 Unix 哲学。

如果是这样,那么在 Web 应用程序的设计中是不是完全放弃了 Unix 哲学?几乎所有处理请求的 Web 应用程序现在都构建为单个大型整体式长时间运行的进程,它们处理整个请求/响应周期(除了对外部数据库程序的调用),不仅针对一种资源,而且针对整个域中的所有资源。

这主要是因为通过管道输出到一组外部程序以构建对 Web 请求的动态响应有太多的进程启动时间开销吗?如果您想输出到 Ruby 或 Python 脚本,我可以看到这种情况,但也许如果您使用像 Haskell 这样可以编译的语言,那么在构建 Web 应用程序时遵循 Unix 哲学的任何真正障碍都会消失吗?

web unix-philosophy

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

管道中的下一个程序可以看到前一个程序的退出代码吗?

我想制作一个像这样的 Bash 脚本管道

prog1 | prog2

这样 prog2 就可以看到 prog1 的退出代码并根据该信息采取不同的行动。

这可能吗?

shell bash pipe exit

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

使用传统作业控制与 Tmux/Screen 进行多任务处理的优点是什么?

tmux 和 screen 允许您在不同的虚拟窗口中运行不同的进程(例如 vim、bash 脚本、mysql、psql 等)。但是传统的 Unix 作业控制(使用 CTRL-z、fg、bg 和作业)似乎为您提供了一些相同的功能。

与通过 tmux 和 screen 的较新方法相比,使用传统作业控制进行多任务处理是否有任何优势?

gnu-screen tmux job-control

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

想要搜索至少有 n 个字符的连续两行

我想使用 sed 来搜索文本文件的第一部分,其中包含至少包含n非空格字符的连续行。我想从这些行的第一行打印到文件的末尾。

制定这个的最好方法是什么?

sed

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

常规文本文件的文件命名约定是什么?

对于*.txt包含文档和注释等且不是自述文件的常规文本文件,是否有 Unix 约定来命名它们?即,

  • 文件名应该全部小写吗?骆驼香烟盒?全部大写?
  • 单词是否应该用连字符、下划线或转义空格分隔?
  • 短名称是否应该比更长、更明确的名称更受欢迎?

filenames

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

less -j 对我不起作用

less -jn其中 n 是要跳转到的行号对我不起作用。它只是没有效果。我在 Ubuntu 11.04 上运行较少的版本 436。我也试过less --jump-target=200LESS='-j200' less filename

less

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