小编kry*_*tah的帖子

命令行:从输出中提取子字符串

假设我运行命令 SayStuff

$ SayStuff
Run Code Online (Sandbox Code Playgroud)

输出是

Watermelons and cucumbers
Run Code Online (Sandbox Code Playgroud)

现在。假设我想cucumbers从输出中提取子字符串并将其通过管道传输到某些内容中。
我以编程方式处理这个问题的方法是通过分隔符Space将输出拆分为一个数组,并通过ArrayName[2]. 我对 shell 脚本相当陌生,并且只成功地挖掘了半神秘的cut例子,没有一个是有意义的。

有任何想法吗?

linux bash command-line

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

iTerm2:带有 Cmd-Dot 的 Alt-Dot 功能

是否有任何已知的方法可以通过键入 Alt- 来实现通常在 Bash 中可用的“插入最后一个命令参数”功能。(Alt 和句点) 在 OSX 上使用 iTerm2?

我知道这应该是可能的方法是通过两个关键序列:

Alt + .
Esc + .

ESC-。一个有效,但 Alt-。才不是。不与 Alt-。或 Cmd-。

bash iterm2 macos

19
推荐指数
2
解决办法
4256
查看次数

.md 文件没有语法高亮?

Vim 正确突出显示.markdown文件,但它似乎不熟悉.md文件类型。对问题/sf/ask/767527701/ 的评论似乎暗示这.md是用于降价文件的错误文件扩展名。我有点困惑。

.md错误的扩展名吗?如果没有,为什么 Vim 不突出显示其语法?

Vim 版本: 7.4

vim markdown

15
推荐指数
3
解决办法
7380
查看次数

在 Google Chrome 中从 FTP 服务器下载文件的更快方法

假设我正在浏览一个 ftp 服务器,我想下载大量文件。通常我会通过

[Right-Click link]+ [Click "Save link as.."]+[Click "Save"]

虽然这有效,但想象一下为 200 个文件执行此操作。有没有更聪明的方法来解决这个问题?

ftp google-chrome download

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

Vim 可视模式:选择光标下的当前块

考虑到我们有当前数据:

ID     NAME          AGE 
1      Joan          29
2      Peterson      16
3      Hunt          47
4      Wenche        12
5      Kennedy       29
6      Lottie        31
Run Code Online (Sandbox Code Playgroud)

光标在Nin 上NAME,我将如何选择文本,如果|是视觉块的分隔符,则选择应该是这样的

ID    |NAME    |     AGE 
1     |Joan    |     29
2     |Peterson|     16
3     |Hunt    |     47
4     |Wenche  |     12
5     |Kennedy |     29
6     |Lottie  |     31
Run Code Online (Sandbox Code Playgroud)

每个元素后面与宽度匹配的尾随空格Peterson不是必需的,但我需要一种快速的方法来突出显示当前块(如果存在)。

vim vimscript

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

如何禁用历史扩展的确认,如`!!`

Zsh 对我非常照顾,有时可能会有点过分。我宁愿让它远离我的业务的时候之一是当它“想要确保我想要执行给定的命令”时。我遇到的功能是:

命令:
sudo !! - 运行以 sudo 为前缀的上一个命令

^old^new- 运行上一个命令,但将第一次出现的“旧”替换为“新”


问题:
当我输入上面列出的两个命令之一并点击时Enter,而不是运行命令立即,命令扩展到实际要运行的内容,我必须Enter再次点击才能实际执行它。第一个世界问题,但仍然如此。

1 $ pwd
2 /home/neil
3 $ sudo !!
4 $ sudo pwd
5 /home/neil
Run Code Online (Sandbox Code Playgroud)

我想跳过第 4 步。这在 bash 中默认被跳过。

zsh command-history

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

分体式机械键盘

“肩膀比键盘宽”的手腕痛问题有什么合理的解决方案吗?我目前每天在终端/vim 上花费 6-8 次,我愿意投资一种解决方案来减轻我手腕上的负担。我找到了一张完美说明我的问题的图片: 在此处输入图片说明

我目前拥有Das 键盘(终极版),但我每天都在使用低调的 Apple Aluminium。虽然我非常享受 Apple 的手感,但键盘比我的肩膀窄得多,我想在它发展成严重的情况之前防止这种伤害。

我也有一个Microsoft Ergonomics 4000,但是在机械键盘上使用多年后仍然使用普通键盘的感觉让我感到畏缩。如何缓解手腕劳损?你们是怎么做的?

keyboard ergonomics

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

Tmux - 检查服务器是否已启动

是否有任何已知的tmux功能,例如tmux has-session -t <session>, 但要检查 tmux服务器当前是否正在运行?在编写自动化脚本时会很方便。检查会话是否存在时

$ tmux has-session -t SomeSession
Run Code Online (Sandbox Code Playgroud)

除非 tmux 服务器已经在运行,否则用户会出现错误

failed to connect to server
Run Code Online (Sandbox Code Playgroud)

因此,我想事先检查服务器当前是否正在运行。如果是,请检查会话等。有没有办法在没有管道到 /dev/null 的情况下使这个静音?

terminal command-line tmux

6
推荐指数
2
解决办法
5911
查看次数

Vimscript:检查子字符串时出错

我目前正在尝试将一个函数结合在一起,根据当前文件路径执行某些操作,每当我使用autocmd BufEnter更改当前缓冲区时就会触发该函数

在我的 .vimrc 中

autocmd BufEnter * call SayLocation()
Run Code Online (Sandbox Code Playgroud)


在我的 .vimrc 中再往下看

fun SayLocation()
  let str = expand("%p:~")

  if str =~ "~/dir1"
    echo "I am in dir 1!"

  elseif str =~ "~/dir2"
    echo "I am in dir 2!"

  else 
    echo "I am somewhere else"

  endif
endf
Run Code Online (Sandbox Code Playgroud)

但是,更改缓冲区会产生以下错误

第 3 行:
E33:没有先前的替代正则表达式
第 7 行:
E33:没有先前的替代正则表达式
我在其他地方


看来我运行子字符串比较器 =~ 错误。有什么线索吗?

vim gvim vimscript

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

LibreOffice calc:如何将多个表格应用于单个图表

我会马上说出来 - 我是一个完整的 Excel/Calc 业余爱好者。

我想要做的是应用 3 个表,每个表有 2 列数据到一个图表中,每个表有 1 条 XY 线。

我当前的数据如下所示:

col1 col2    col1 col2     col1 col2
8    9       8    9        8    9
10   0       10   0        10   0
2    4       2    4        2    4
8    1       8    1        8    1
82   8       82   8        82   8
Run Code Online (Sandbox Code Playgroud)

,但我也以降序方式尝试过:

col1 col2 
8    9
10   0
2    4
8    1
82   8

col1 col2
8    9
10   0
2    4
8    1
82   8

col1  col2
8    9 …
Run Code Online (Sandbox Code Playgroud)

openoffice-calc libreoffice-calc

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