如果我使用cat -n text.txt自动编号行,那么我如何使用该命令仅显示某些编号的行。
我在文件中有一个数字列表,每行一个。如何获得最小值、最大值、中值和平均值?我想在 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 上找到有用的答案并不容易。之后我发现了以下内容:
我一直在寻找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。
有什么建议吗?
我想知道如何通过一些文本处理实用程序计算每行中特定字符的数量?
例如,"在以下文本的每一行中进行计数
"hello!"
Thank you!
Run Code Online (Sandbox Code Playgroud)
第一行有两个,第二行有 0。
另一个例子是(在每一行中计数。
我是盲人还是没有类似的--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)
移动不是正确的选择,因为可能会更改文件权限。这就是为什么我用临时文件的内容覆盖,然后将其删除。)
现在我正在使用
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) 假设有一列数值如下:
文件1:
1
2
3
3
3
4
4
4
5
6Run Code Online (Sandbox Code Playgroud)
我想要输出:
3
4Run Code Online (Sandbox Code Playgroud)
也就是说,只有重复的行。是否有任何命令行工具可以在 Linux 中找到这一点?(注意:数值按数字排序)。
我有这个输入,它显示在列中。我想获取此示例的最后一列:
[ 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)
因为有时中间会有额外的空格。
我有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?