小编Jav*_*eak的帖子

使用数组比较 bash 中的负值

我确实有一个有趣的问题,我正在尝试解决,但我仍然无法这样做。

假设我有 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

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

使用 bash 脚本对文件进行排序

非常感谢您阅读本文。我对 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

在此处输入图片说明

bash

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

shell脚本中sed的解释

我在网上找到了一段代码,它实际上有助于在文本文件中创建每个单词的频率,但是我希望有人确切地解释它是如何做到的

特别是 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)

这意味着什么?

shell sed

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

在 bash 中嵌套 for 循环

你好,我想问你,我怎样才能在 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)

bash

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

标签 统计

bash ×3

sed ×1

shell ×1