标签: text-processing

使用 Linux 的“cat”命令,如何仅按数字显示某些行

如果我使用cat -n text.txt自动编号行,那么我如何使用该命令仅显示某些编号的行。

text-processing cat

126
推荐指数
5
解决办法
34万
查看次数

有没有办法在单个命令中获取数字列表的最小值、最大值、中值和平均值?

我在文件中有一个数字列表,每行一个。如何获得最小值、最大值、中值平均值?我想在 bash 脚本中使用结果。

虽然我的直接情况是整数,但浮点数的解决方案将很有用,但简单的整数方法很好。

text-processing

123
推荐指数
11
解决办法
16万
查看次数

bash - 用新行替换空格

如何在输入中用新行替换空格,例如:

/path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 等等...

要获得以下内容:

/path/to/file
/path/to/file2
/path/to/file3
/path/to/file4
/path/to/file5
Run Code Online (Sandbox Code Playgroud)

笔记

我发布这个问题是为了帮助其他用户,在我开始输入这个问题之前,在 UNIX SE 上找到有用的答案并不容易。之后我发现了以下内容:

相关问题

如何找到并替换新行?

bash string text-processing

120
推荐指数
5
解决办法
23万
查看次数

如何在文件的第一行之前插入文本?

我一直在寻找sed将文本添加到文件中特定行的命令。这可以在第 1 行之后添加文本:

sed '1 a\
Run Code Online (Sandbox Code Playgroud)

但我想第 1 行之前添加它。它将是:

sed '0 a\
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:invalid usage of line address 0

有什么建议吗?

sed text-processing

114
推荐指数
7
解决办法
32万
查看次数

如何计算每行中特定字符的数量?

我想知道如何通过一些文本处理实用程序计算每行中特定字符的数量?

例如,"在以下文本的每一行中进行计数

"hello!" 
Thank you!
Run Code Online (Sandbox Code Playgroud)

第一行有两个,第二行有 0。

另一个例子是(在每一行中计数。

text-processing

108
推荐指数
9
解决办法
28万
查看次数

sort 是否支持就地对文件进行排序,例如 `sed --in-place`?

我是盲人还是没有类似的--in-place选择sort

为了将结果保存到输入文件,sed 使用-i( --in-place)。

将输出重定向sort到输入文件

sort < f > f
Run Code Online (Sandbox Code Playgroud)

导致它为空。如果没有--in-place选择 - 也许有一些技巧可以方便地做到这一点?

(我唯一想到的是:

sort < f > /tmp/f$$ ; cat /tmp/f$$ > f ; rm /tmp/f$$
Run Code Online (Sandbox Code Playgroud)

移动不是正确的选择,因为可能会更改文件权限。这就是为什么我用临时文件的内容覆盖,然后将其删除。)

text-processing sort

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

如何在文件中的某个字符串后插入文本?

现在我正在使用

echo "Hello World" >> file.txt
Run Code Online (Sandbox Code Playgroud)

将一些文本附加到文件中,但我还需要在某个字符串下方添加文本,比如说[option],是否可以使用sed

例如:

输入文件

Some text
Random
[option]
Some stuff
Run Code Online (Sandbox Code Playgroud)

输出文件

Some text
Random
[option]
*inserted text*
Some stuff
Run Code Online (Sandbox Code Playgroud)

sed text-processing

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

如何仅打印文本文件中的重复值?

假设有一列数值如下:

文件1:

1 
2
3
3
3
4
4
4
5
6
Run Code Online (Sandbox Code Playgroud)

我想要输出:

3  
4
Run Code Online (Sandbox Code Playgroud)

也就是说,只有重复的行。是否有任何命令行工具可以在 Linux 中找到这一点?(注意:数值按数字排序)。

shell text-processing

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

如何使用 cut 分隔多个空格?

我有这个输入,它显示在列中。我想获取此示例的最后一列:

[  3]  1.0- 2.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  2.0- 3.0 sec   768 KBytes  6.29 Mbits/sec
[  3]  3.0- 4.0 sec   512 KBytes  4.19 Mbits/sec
[  3]  4.0- 5.0 sec   256 KBytes  2.10 Mbits/sec
...
Run Code Online (Sandbox Code Playgroud)

如果我使用

cut -d\  -f 13
Run Code Online (Sandbox Code Playgroud)

我得到

Mbits/sec
6.29
4.19
2.10
Run Code Online (Sandbox Code Playgroud)

因为有时中间会有额外的空格。

text-processing cut columns

102
推荐指数
4
解决办法
9万
查看次数

将文件内容转换为小写

我有temp一些小写和大写内容的文件。

输入

我的temp文件内容:

hi
Jigar
GANDHI
jiga
Run Code Online (Sandbox Code Playgroud)

我想将所有upper转换为 lower

命令

我尝试了以下命令:

sed -e "s/[A-Z]/[a-z]/g" temp
Run Code Online (Sandbox Code Playgroud)

但得到了错误的输出。

输出

我想要它:

hi
jigar
gandhi
jiga
Run Code Online (Sandbox Code Playgroud)

什么需要在论证的替代部分sed

shell tcsh sed text-processing tr

101
推荐指数
5
解决办法
19万
查看次数

标签 统计

text-processing ×10

sed ×3

shell ×2

bash ×1

cat ×1

columns ×1

cut ×1

sort ×1

string ×1

tcsh ×1

tr ×1