相关疑难解决方法(0)

使用Bash,你最喜欢的命令行技巧是什么?

我们都知道如何使用<ctrl>-R反向搜索历史记录,但是<ctrl>-S如果你设置了,你知道你可以使用转发搜索stty stop ""吗?另外,您是否尝试过运行bind -p来查看列出的所有键盘快捷键?默认情况下,Mac OS X上有超过455个.

什么是你最喜欢的晦涩难懂的技巧,键盘快捷键或使用bash的shopt配置?

bash command-line

156
推荐指数
33
解决办法
14万
查看次数

简短(有用)的python片段

本着"你最有用的C/C++代码片段"的精神- 线程:

你们有没有(通常)使用的简短的单功能Python片段,并希望与StackOverlow社区分享?请保持条目较小(可能在25行以下?)并且每个帖子只提供一个示例.

我将从一个简短的片段开始,我不时使用它来计算python项目中的sloc(源代码行):

# prints recursive count of lines of python source code from current directory
# includes an ignore_list. also prints total sloc

import os
cur_path = os.getcwd()
ignore_set = set(["__init__.py", "count_sourcelines.py"])

loclist = []

for pydir, _, pyfiles in os.walk(cur_path):
    for pyfile in pyfiles:
        if pyfile.endswith(".py") and pyfile not in ignore_set:
            totalpath = os.path.join(pydir, pyfile)
            loclist.append( ( len(open(totalpath, "r").read().splitlines()),
                               totalpath.split(cur_path)[1]) )

for linenumbercount, filename in loclist: 
    print "%05d lines in %s" % (linenumbercount, filename)

print …
Run Code Online (Sandbox Code Playgroud)

python code-snippets

46
推荐指数
12
解决办法
3万
查看次数

如何在shell脚本中操作$ PATH元素?

是否有一种从PATH类shell变量中删除元素的惯用方法?

那是我想要的

PATH=/home/joe/bin:/usr/local/bin:/usr/bin:/bin:/path/to/app/bin:.
Run Code Online (Sandbox Code Playgroud)

删除替换/path/to/app/bin,而不重挫可变的其余部分.允许我新元素放在任意位置的额外点数.目标将由明确定义的字符串识别,并且可以在列表中的任何点处发生.

我知道我已经看到了这一点,并且可以自己拼凑一些东西,但我正在寻找一个很好的方法.便携性和标准化加分.

我使用bash,但欢迎你最喜欢的shell中的例子.


这里的上下文是需要在多个版本之间方便地切换(一个用于进行分析,另一个用于处理框架)的大型科学分析包,它产生几十个可执行文件,数据存储在文件系统周围,并使用环境变量帮助找到所有这些东西.我想编写一个选择版本的脚本,并且需要能够删除$PATH与当前活动版本相关的元素,并用与新版本相关的相同元素替换它们.


这与$PATH在重新运行登录脚本等时防止重复元素的问题有关.


unix shell path-variables idioms

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