小编Har*_*rma的帖子

通过字符串引用数组元素,并在 awk 中初始化数组

#!/usr/bin/env bash
awk '
  BEGIN {
    arr[A]=1;
    arr[B]=1;
    arr[C]=1;
    arr[E]=1;
    arr[J]=8;
    arr[Q]=10;
    print arr[J]
  }'
Run Code Online (Sandbox Code Playgroud)

上面的命令输出 的最新设置值arr['subscript'],在这种情况下10,是arr[Q]之前的值,print而不是8的值arr[J]

此外,就像在上面的脚本中一样,我不想一次为arr['A'], arr['B'], arr['C'] and arr['E']具有相同值的值分配1一行,而是将一组下标作为参数之一并将公共值作为另一个参数传递给处理给他们赋值的逻辑。

array awk

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

位置参数扩展和自定义数组扩展的不同结果

我不明白的命令输出存在差异,如下所述:

INPUT="$@"
echo "$INPUT ${#INPUT} ${#INPUT[@]} ${#@}"
# outputs: a b c 5 1 3

arr=(a b c)
echo "$arr ${#arr} ${#arr[@]}"
# outputs: a 1 3
Run Code Online (Sandbox Code Playgroud)

我用./my_script.sh a b c.

我知道这echo "$arr" 是取消引用$arr第一个元素,然后打印a. 同时对于$INPUT它打印的命令a b c

对于命令${#INPUT}${#INPUT[@]}原因分别是输出51。它不应该类似于命令的输出${#arr}${#arr[@]}吗?

bash array shell-script

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

Bash:将文件内容附加到新文件中,每个文件的最后一行都带有注释

我有以下文件,所有这些文件都包含缩小的 JavaScipt 代码。每个文件都以注释结尾:

文件夹结构

|--static
  |--js
    |--1.1001bbaf.chunk.js
    |--runtime~main.229c360f.js
    |--main.57f2973b.chunk.js
Run Code Online (Sandbox Code Playgroud)

1.1001bbaf.chunk.js

(window.webpackJsonp=window.webpackJsonp||[]).push .....
//# sourceMappingURL=1.1001bbaf.chunk.js.map
Run Code Online (Sandbox Code Playgroud)

运行时~main.229c360f.js

!function(e){function r(r){for .....
//# sourceMappingURL=runtime~main.229c360f.js.map
Run Code Online (Sandbox Code Playgroud)

main.57f2973b.chunk.js

(window.webpackJsonp=window.webpackJsonp||[]).push .....
//# sourceMappingURL=main.57f2973b.chunk.js.map
Run Code Online (Sandbox Code Playgroud)

我的要求是将所有文件的内容刷新到单个文件中main.js,以便附加内容而不是覆盖内容。

我尝试了以下解决方案:

  1. cat static/js/*.js >> main.js

    效果很好,但它在第一个文件的末尾附加了第二个文件的内容,以注释结尾。像这样的东西:

//#sourceMappingURL=1.1001bbaf.chunk.js.map(window.webpackJsonp=window.webpackJsonp||[]).push .....

现在整行都是 vim 文本编辑器中的注释,从这一行开始的所有内容都是 Atom 文本编辑器中的注释。

我的 Vim 文本编辑器的默认行为是,如果我o在命令模式下按下并且最后一行是注释//...,则新行以//.

我不知道如何处理以注释行结尾的文件。我可以想到这样的事情:从新行开始追加下一个文件的内容或删除最后一行注释。

限制是只能使用bash

Vim 代码快照

原子代码快照

bash shell-script

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

标签 统计

array ×2

bash ×2

shell-script ×2

awk ×1