我确实有一个有趣的问题,我正在尝试解决,但我仍然无法这样做。
假设我有 2 个数组。
数组一:
1 -2 3 -2 2 -4
Run Code Online (Sandbox Code Playgroud)
数组二:
-2 -3 4 5 2 -5
Run Code Online (Sandbox Code Playgroud)
我希望能够实际比较两者Array one
和的第 i 个值Array two
:
Array Three
0
1
2
输出:
2 0 1 2 1 0
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?
非常感谢您阅读本文。我对 bash 很陌生,因此我需要您在以下方面的建议:
我想编写一个 bash 脚本来读取一个包含 2 列的文件
f 2
g 1
s 4
d 5
f 2
g 5
d 9
g 10
h 1
s 5
d 29
Run Code Online (Sandbox Code Playgroud)
我的脚本实际上会根据第一列(字母表)对该文件进行排序并生成一个名为的文件alpha_sorted.txt
,然后我希望它对数字执行相同的操作并将其命名为numbers_sorted.txt
.
我对此很陌生,所以如果可能的话,我想寻求您的帮助,为我提供文档或链接,甚至帮助编写代码。
该脚本旨在用于介绍级别,因此不建议使方法复杂化。
使用 john1024 的回答,我有以下问题:
Hasan@HasanChr /cygdrive/c/users/Hasan/Desktop/Bash
$ chmod +x script.sh
Hasan@HasanChr /cygdrive/c/users/Hasan/Desktop/Bash
$ ./script.sh
cat: alpha_sorted.txt: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是截图 script.sh
我在网上找到了一段代码,它实际上有助于在文本文件中创建每个单词的频率,但是我希望有人确切地解释它是如何做到的
特别是 sed 命令,因为我是 bash 的超级新手,我需要知道所有分隔符都在做什么 ( s/\(.*\)/\L\1/
)。
这是代码:
cat EnglishText.txt
sed 's/\.//g;s/\(.*\)/\L\1/;s/\ /\n/g' EnglishText.txt | sort | uniq -c
Run Code Online (Sandbox Code Playgroud)
我想知道 sed 之后到底是什么,我确实了解 uniq -c 和排序,但我想知道匹配中发生了什么等等..我知道这有点奇怪,但我再次非常新来的
在同一问题的上下文中
sed 's/\([0-9]*\).*/\1/'
Run Code Online (Sandbox Code Playgroud)
这意味着什么?
你好,我想问你,我怎样才能在 bash 中写出完全相同的循环
for (int i = 0; i < a; i++) {
for (int j = i; j < a; j++) {
System.out.println(i + " " + j);
}
}
Run Code Online (Sandbox Code Playgroud)