小编Min*_*t.K的帖子

为什么 ls -R 被称为“递归”列表?

我知道ls -R显示目录列表。但为什么它是递归的?过程中如何使用递归?

command-line ls

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

排序命令在数字上无法按预期工作

这是我的 list.txt:

a    100
b    300
A    50
e    75
1    10
Run Code Online (Sandbox Code Playgroud)

我运行了以下命令:

sort -k2,2 list.txt
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

1    10
a    100
b    300
A    50
e    75
Run Code Online (Sandbox Code Playgroud)

我试图只对第二列进行排序。根据维基百科,我上面的命令应该给我下面的结果。

a 10
b 50
A 75
e 100
1 300
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

https://en.wikipedia.org/wiki/Sort_(Unix)

command-line sort

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

使用重复范围 {} 和 grep

$ grep a{2,} alphabet.txt
grep: a: No such file or directory
$cat alphabet.txt
abcdefghijklnmopqrstuvwxyz
Run Code Online (Sandbox Code Playgroud)

我的字母表.txt 包含一个从 a 到 z 的行。a{2,} 不是表示匹配 aaa* 吗?但是,grep它甚至不起作用。

command-line grep

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

为什么带有标志 p 的 sed 替换命令会打印两次修改后的输出?

我的 a.txt 包含以下内容:

apple
123
pear
1234
Run Code Online (Sandbox Code Playgroud)

如果我在下面运行这个命令,

sed 's/123/AAA/p' a.txt
Run Code Online (Sandbox Code Playgroud)

我以为我会得到

apple
123
AAA
pear
1234
AAA4
Run Code Online (Sandbox Code Playgroud)

因为 sed 默认会自动打印每一行。在模式空间中修改之后,我期待我的修改输出。但我的实际输出打印了两次替换:

apple
AAA
AAA
pear
AAA4
AAA4
Run Code Online (Sandbox Code Playgroud)

这是为什么?

command-line bash sed

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

三通和输出重定向

ls -l *.txt | wc -l | tee count.txt
ls -l *.txt | wc -l > tee count.txt
Run Code Online (Sandbox Code Playgroud)

我正在学习基本的 Unix 命令。我认为提到的这两个命令会做同样的事情,但他们没有。只有第一个命令写入 count.txt。为什么第二个命令中使用的输出重定向没有做任何事情?

command-line

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

标签 统计

command-line ×5

bash ×1

grep ×1

ls ×1

sed ×1

sort ×1