小编Qua*_*odo的帖子

删除vi中的一行

如何删除VI中的一行?

这是我现在正在做的事情:

  1. 打通终端alt+ ctrl+t
  2. vi a.txt
  3. 我将光标移动到要删除的行,那么应该使用什么组合键来删除 vi 编辑器中的行

vim terminal vi

203
推荐指数
4
解决办法
45万
查看次数

如何将变量发送到内联 shell 脚本?

我运行以下脚本:

VAR="Test"
sh -c 'echo "Hello $VAR"'
Run Code Online (Sandbox Code Playgroud)

但我得到:

# ./test.sh
Hello
Run Code Online (Sandbox Code Playgroud)

如何将VAR我的脚本变量发送到使用sh -c '...'.

shell scripting shell-script variable

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

Bash vi 模式配置默认为命令模式

是否可以配置 bash vi 模式,使其最初处于命令模式而不是插入模式?我发现我必须按Esc太多。似乎可以在 zsh 中指定这一点,但我还没有找到在 bash/readline 中执行此操作的方法。

bash vi-mode

15
推荐指数
1
解决办法
1803
查看次数

CTRL+V 在 vi​​m 中做什么?

在 viminsert模式下,如果我按 CTRL+V,我会被扔进所谓的状态x mode (^[,^D...),当我按下一个键(例如转义键)时,我会^[^. 它在我的编辑器中也变成绿色。

这是什么,它有什么用途?

vim keyboard-shortcuts

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

awk 的 nextfile 是在 POSIX 中指定的吗?

GNU awk 手册内容nextfile如下:

注意:多年来,nextfile是一个常见的扩展。2012 年 9 月,它被接受纳入 POSIX 标准。请参阅奥斯汀集团网站

同样,mawk 手册说:

Nextfile 是一个 gawk 扩展(也由 BWK awk 实现),还不是 POSIX 标准的一部分(截至 2012 年 10 月),尽管它已被标准的下一个修订版接受。

是什么让我困惑的是,有没有提到nextfile最新的POSIX规范,从2018。

通过指向 Austin Group 的链接,您会发现该问题已在 2012 年解决(甚至还有最终接受的文本),但仅在 2020 年(!)中应用。

总而言之,这是否意味着nextfile是 POSIX 指定的 awk 功能?或者只会在未来的 POSIX 版本中如此?

(出于实际目的,nextfile也可以在BSD awk 中找到。)

还有两个语句与nextfile: fflushand delete( 的情况相同delete,但已指定,但要扩展以便能够删除整个数组)。

awk posix

12
推荐指数
2
解决办法
697
查看次数

为什么 echo > 1 2 3 创建一个名为 1 的文件,内容为 2 3?

$ echo > 1 2 3; ls -latr 1; cat 1
-rw-rw-r-- 1 kahn kahn 4 Jun 23 14:05 1
2 3
Run Code Online (Sandbox Code Playgroud)

这与>重定向的评估有关吗?这样:

echo > 1 2 3
Run Code Online (Sandbox Code Playgroud)

也可以重写为 并且在技术上是:

echo 2 3 > 1
Run Code Online (Sandbox Code Playgroud)

?

是否有任何资源可以更好地理解 IO 重定向的操作顺序及其评估方式?我承认这个例子可能没什么用,甚至不会经常出现,但我想更好地了解这里到底发生了什么。

io-redirection echo

11
推荐指数
1
解决办法
2334
查看次数

为什么使用 -name 和 -regex 都找不到我的目录

我有一个目录~/Documents/machine_learning_coursera/

命令

find . -type d -name '^machine'
Run Code Online (Sandbox Code Playgroud)

没有找到任何东西

我也试过

find . -type d -regextype posix-extended -regex '^machine'
Run Code Online (Sandbox Code Playgroud)

以便匹配字符串的开头而没有。

我也试过-name

find . -type d -regextype posix-extended -regex -name '^machine'
Run Code Online (Sandbox Code Playgroud)

并得到错误:

find: paths must precede expression: `^machine'
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

find pattern-matching

10
推荐指数
3
解决办法
896
查看次数

如何搜索包含一组单词的多行文本文件(例如,AAA & (BBB | CCC) & ~DD)?

我需要找到满足相对复杂条件的文件。例如,我想找到满足以下所有条件的所有文件:

  • 确实包含单词 AAAA
  • 确实包含单词 BBB 或 CCCCC(可能同时包含它们)
  • 不包含单词 DDD

这些词可能以任何顺序出现,也可能出现在不同的行中。

我有一个解决方案,它结合了findegrep,但不是很清晰。

find . \( -type f -and -exec egrep -q 'BBB|CCCCC' {} \; \
   -and -exec egrep -q AAAA {} \; \
   -and -not -exec egrep -q DDD {} \; \) -print
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?

grep find search text

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

为什么我在 vim 中看不到插入模式下两个不同文件之间的区别?

让我们创建两个文件:

$ echo -n 'test' > test.txt
$ wc test.txt 
0 1 4 test.txt
Run Code Online (Sandbox Code Playgroud)

该文件test.txt不包含尾随换行符。

$ echo 'test' > test_n.txt
$ wc test_n.txt 
1 1 5 test_n.txt
Run Code Online (Sandbox Code Playgroud)

该文件test_n.txt包含尾随换行符。

以上两个文件明显不同,但vim插入模式下预览两个文件没有任何区别:

$ vim test.txt
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

$ vim test_n.txt
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

为什么没有区别(换行或某些特殊区别)?

我该怎么做才能vim插入模式下添加或删除这样的附加字符?

vim newlines

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

今天,Motif 在哪里使用?

在我的大学,有一门课程叫做“Programming with Motif”。

这是一个相当古老的框架,我想知道今天用 Motif 制作的 Motif / 程序在哪里使用。

gui x11 motif

7
推荐指数
2
解决办法
2468
查看次数