小编use*_*095的帖子

如何在给定文件夹中查找所有 git 存储库(快速)

天真的方法是find dir1 dir2 dir3 -type d -name .git | xargs -I {} dirname {} ,但对我来说太慢了,因为我在 git 存储库中有很多深层文件夹结构(至少我认为这是原因)。我已经读过关于我可以prune用来防止 find 在找到某些内容后递归到目录中的内容,但有两件事。我不确定这是如何工作的(我的意思是我不明白prune虽然我已经阅读了手册页),第二个它在我的情况下不起作用,因为它会阻止find递归到.git文件夹但不是全部其他文件夹。

所以我真正需要的是:

对于所有子目录,检查它们是否包含.git文件夹,如果它停止在此文件系统分支中搜索并报告结果。如果这也能从搜索中排除任何隐藏的目录,那就太完美了。

find git

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

如何在sed中将python文件中的所有字符串从snake_case更改为camelCase

我已经从 commandlinefu 尝试了一些像这样的 sed 模式

sed -r "s/('[a-z]+)_([a-z])([a-z]+)/\1\U\2\L\3/"
Run Code Online (Sandbox Code Playgroud)

但不知何故它不起作用。一方面,他们忘记了我可以修复的数字,但这种模式仅适用于一个下划线。例如,如果我在文件中有一个字符串

'foo_bar_foo'

它将转换为

'fooBar_foo'

. 这不是我想要的(我想要'fooBarFoo'

我只想更改文件中的字符串,而不是变量名称或其他任何内容。所以例如这个

delta_limits=Limits(general_settings['signal_lower_limit']
Run Code Online (Sandbox Code Playgroud)

应该变成这个

delta_limits=Limits(general_settings['signalLowerLimit']
Run Code Online (Sandbox Code Playgroud)

sed text-processing regular-expression

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

如何使用命名管道作为临时文件?

我使用的一个 vim 插件使用此脚本将一些输入传递给不支持从标准输入读取的短绒。

set -eu

# All of the following arguments are read as command to run.
file_extension="$1"
shift

temp_dir=$(mktemp -d 2>/dev/null || mktemp -d -t 'ale_linter')
temp_file="$temp_dir/file$file_extension"
trap 'rm -r "$temp_dir"' EXIT

while read -r; do
  echo "$REPLY" >> "$temp_file"
done

"$@" "$temp_file"
Run Code Online (Sandbox Code Playgroud)

起初我有点困惑为什么他们不只是使用这样的东西

some input | some_program /dev/stdin
Run Code Online (Sandbox Code Playgroud)

但是在尝试ghc作为 linter之后,我发现它在抱怨 /dev/stdin 说它不是真实文件(它不是)

所以我想知道我可以使用 namedpipe 而不是临时文件。我对写入临时文件不太满意的原因是 SSD 的健康状况,如果有更好的方法,为什么不这样做,对吧?

pipe shell-script

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

是否可以从 USB 安装没有 GUI 的 Fedora 25 或更新版本?

我有一个 nvidia 1070 显卡,Fedora GUI 非常缓慢,鼠标指针不可见。我在安装 Ubuntu 时遇到了类似的问题,尽管我认为它并没有那么慢。这使得无法使用 GUI 进行安装。有没有办法用命令行做所有事情?

command-line fedora live-usb system-installation

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