Articles of bash

如何在Bash脚本中的AWK中传递string作为参数

我有一个文本文件,我想用awk过滤。 文本文件如下所示: foo 1 bar 2 bar 0.3 bar 100 qux 1033 我想用bash脚本中的awk过滤这些文件。 #!/bin/bash #input file input=myfile.txt # I need to pass this as parameter # cos later I want to make it more general like # coltype=$1 col1type="foo" #Filters awk '$2>0 && $1==$col1type' $input 但不知何故,它失败了。 什么是正确的方法来做到这一点?

bash:从频率表中获取百分比

我已经做了一个小的bash脚本,以获得在一个文件的某一列的项目的频率。 输出会是这样的 A 30 B 25 C 20 D 15 E 10 我在脚本中使用的命令是这样的 cut -f $1 $2| sort | uniq -c | sort -r -k1,1 -n | awk '{printf "%-20s %-15d\n", $2,$1}' 我怎样才能修改它以显示每种情况下的相对百分比。 所以它会是这样的 A 30 30% B 25 25% C 20 20% D 15 15% E 10 10%

在linux / bash中创build无限循环重复的文件猫

我想要做的就是把“重复”的单个文件(比如无数次地input)作为另一个程序的input。 有没有在命令行/使用bash的方式?

bash:迭代通过索引select的JSON数组的成员

我使用jq来parsingJSON文件,将每个JSON数组抽取到一个shell数组中。 我目前的代码如下所示: for ((i = 0; i < ${#nvars[@]}; i++)); do v1=($(cat $INPUT | jq '."config"[i]."var1"[]')) echo $v1 done 错误信息: error: i is not defined 我也换了 v1=($(cat $INPUT | jq '."config"[i]."var1"[]')) 同 v1=($(cat $INPUT | jq '."config"[$i]."var1"[]')) 还是行不通。 任何想法? 任何帮助表示赞赏! 编辑:示例input数据 { "config-vars":[ { "var1":["v1","v2"], "var2":"" }, { "var1":["v3",""], "var2":"v4" } ] }

在bash脚本中检查C程序的返回值?

我有一个bash脚本,我通过使用$来检查上次运行命令的退出代码? variables,但现在我正在执行一个C程序(从该脚本),如果程序成功执行返回0。 有没有什么办法可以从我的bash脚本中捕获C程序的返回值? 我相信不同的命令如awk,sed等都是用C写的。他们如何使用$? 存储他们的退出代码呢? 我怎样才能让我的C程序存储在$退出代码? 我希望我的问题很清楚。

awk:只能在某个字段中查找和replace

我有这样的文本文件: $ cat test 12 13 2100 s 12 13 3100 s 100 13 100 s 12 13 300 s 我想输出是这样的: $ cat test 12 13 22000 s 12 13 32000 s 100 13 2000 s 12 13 300 s 我只想把第三场(一次100包含在$3 )的100换成2000 。 我如何使用awk完成这项工作?

在bash中取消删除已删除的命令

如果你写了一个非常长的命令,比如说cd /very/long/path ,然后你按ctrl + c或者ctrl + u(如果光标在最后),然后你意识到你想要命令回来,有什么方法可以在不重新input的情况下获得完整的产品线。 是否有任何技巧来改变.bashrc以便bash_history跟踪在shell上按下的键,而不是在input命中之后。 我在Bash回答了一个问题,如何清除当前的input? 并意识到如果我们有这样的select,这将是非常有益的。

如何使用awk来提取引用的字段?

我在用 awk '{ printf "%s", $3 }' 从空格分隔的行中提取一些字段。 当领域里面有空格时,我会得到部分结果。 请任何机构提出解决scheme?

./a.out的redirect不捕获分段错误

我运行命令 ./a.out <in&> output.txt 我也想把错误放在output.txt 。 命令的exit状态是139,在terminal输出的是: 分割故障(核心转储) 和output.txt文件是空的。

如何遍历Bash中的所有ASCII字符?

我知道如何遍历字母: for c in {a..z}; do …; done 但我不知道如何遍历所有的ASCII字符。 有谁知道如何?