我有以下两个bash行
TMPFILE="$(mktemp)" || exit 1
< package.json jq '. + {"foo":'"${BOO}"'}' > "$TMPFILE"
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
jq: error: syntax error, unexpected '}' (Unix shell quoting issues?) at <top-level>, line 1:
. + {"foo":}
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud)
任何想法如何通过在那里使用双引号来使shellcheck错误静音来正确地逃避该部分
我想curl
用多个标题发出请求.解决方案是创建此命令:
curl -H "keyheader: value" -H "2ndkeyheader: 2ndvalue" ...
Run Code Online (Sandbox Code Playgroud)
我的目标是只使用一个变量和所有标题,如:
headers='-H "keyheader: value" -H "2ndkeyheader: 2ndvalue" '
curl $headers
Run Code Online (Sandbox Code Playgroud)
发送
curl -H "keyheader: value" -H "2ndkeyheader: 2ndvalue"
Run Code Online (Sandbox Code Playgroud)
目前,问题是:我可以使用'
或"
声明我的字符串,但bash
尝试运行之后"-H"
作为参数然后回答:
command unknown
Run Code Online (Sandbox Code Playgroud)
想知道这里出了什么问题.
如果我有这个...
6,
9,
12
"url": "https://www.url.com"
6,
9,
12
"url": "https://www.url.com"
13,
16
"url": "https://www.url.com"
"url": "https://www.url.com"
18
"url": "https://www.url.com"
"url": "https://www.url.com"
3,
6,
14
"url": "https://www.url.com"
"url": "https://www.url.com"
20
"url": "https://www.url.com"
74
"url": "https://www.url.com"
Run Code Online (Sandbox Code Playgroud)
我怎样才能以一种给我这个的方式加入这些线条......
6,9,12"url": "https://www.url.com"
6,9,12"url": "https://www.url.com"
13,16"url": "https://www.url.com"
"url": "https://www.url.com"
18"url": "https://www.url.com"
"url": "https://www.url.com"
3,6,14"url": "https://www.url.com"
"url": "https://www.url.com"
20"url": "https://www.url.com"
74"url": "https://www.url.com"
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用 sed 删除以数字开头的行上的换行符,但它不起作用。我想是因为线路在工作时发生了变化?
sed '/^[0-9]/N;s/\n//'
Run Code Online (Sandbox Code Playgroud)
我明白了这个...
6,9,
12"url": "https://www.url.com"
6,9,
12"url": "https://www.url.com"
13,16
"url": "https://www.url.com"
"url": "https://www.url.com"
18"url": "https://www.url.com"
"url": "https://www.url.com"
3,6,
14"url": "https://www.url.com" …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的values.yaml 文件,其中包含以下数据:
images:
tags:
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
Run Code Online (Sandbox Code Playgroud)
使用
yq -r --yaml-output ".images.tags" values.yaml
Run Code Online (Sandbox Code Playgroud)
我可以得到以下输出
one: abc:v0.3-16-07
two: xyz:ng-0.23.0
pq: qaa:0df1e21e752b3d3.2020-04-27_1
Run Code Online (Sandbox Code Playgroud)
但我怎样才能从上面得到这些值呢?
我不太明白 viper 是如何工作的。这是我的代码:
配置.go
var Config *Configuration
type ServerConfiguration struct {
Port string
}
type Configuration struct {
Server ServerConfiguration
}
func Init() {
var configuration *Configuration
viper.SetConfigFile(".env")
viper.AutomaticEnv()
if err := viper.ReadInConfig(); err != nil {
log.Fatalf("Error reading config file, %s", err)
}
err := viper.Unmarshal(&configuration)
if err != nil {
log.Fatalf("Unable to decode into struct, %v", err)
}
Config = configuration
}
func GetConfig() *Configuration {
return Config
}
Run Code Online (Sandbox Code Playgroud)
.env
SERVER_PORT=:4747
问题是 Unmarshal 不起作用当我使用例如配置时。Server.Port 它是空的
我有两个具有相同行数和列数的文件。用 分隔;
。例子;
文件_a:
1;1;1;1;1
2;2;2;2;2
3;3;3;3;3
4;4;4;4;4
Run Code Online (Sandbox Code Playgroud)
文件_b:
A;A;A;A;A
B;B;;;B
;;;;
D;D;D;D;D
Run Code Online (Sandbox Code Playgroud)
忽略分隔符,第 3 行从file_b
. 所以我想file_a
在命令之前删除第 3 行;
paste -d ';' file_a file_b
.
为了有这样的输出:
1;1;1;1;1;A;A;A;A;A
2;2;2;2;2;B;B;;;B
4;4;4;4;4;D;D;D;D;D
Run Code Online (Sandbox Code Playgroud)
编辑:列数为 93,每行和两个文件的列数相同,因此两个文件的行和列矩阵完全相同。
我有几个具有不同行号的文本文件,我必须在所有这些文件中删除倒数第三行。这是一个示例文件:
bear
horse
window
potato
berry
cup
Run Code Online (Sandbox Code Playgroud)
此文件的预期结果:
bear
horse
window
berry
cup
Run Code Online (Sandbox Code Playgroud)
我们可以删除文件的倒数第三行吗
?不基于任何字符串/模式。
湾 仅基于它必须是倒数第三行的条件
我对如何从最后一行开始索引我的文件有疑问。我已经从倒数第二行的另一个 SO 问题中尝试过这个:
> sed -i 'N;$!P;D' output1.txt
Run Code Online (Sandbox Code Playgroud) 这是我的数据:
NAME1,NAME1_001,NULL,LIC100_1,NULL,LIC300-3,LIC300-6
NAME1,NAME1_003,LIC000_1,NULL,NULL,NULL,NULL
NAME2,NAME2_001,LIC000_1,NULL,LIC400_2,NULL,NULL
NAME3,NAME3_001,NULL,LIC400_2,NULL,NULL,LIC500_1
NAME3,NAME3_005,LIC000_1,NULL,LIC400_2,NULL,NULL
NAME3,NAME3_006,LIC000_1,NULL,LIC400_2,NULL,NULL
NAME4,NAME4_002,NULL,LIC100_1,NULL,LIC300-3,LIC300-6
Run Code Online (Sandbox Code Playgroud)
预期结果:
NAME1|NAME1_001|NULL|LIC100_1|NULL|LIC300-3|LIC300-6|NAME1_003|LIC000_1|NULL|NULL|NULL|NULL
NAME2|NAME2_001|LIC000_1|NULL|LIC400_2|NULL|NULL
NAME3|NAME3_001|NULL|LIC400_2|NULL|NULL|LIC500_1|NAME3_005|LIC000_1|NULL|LIC400_2|NULL|NULL|NAME3_006|LIC000_1|NULL|LIC400_2|NULL|NULL
NAME4|NAME4_002|NULL|LIC100_1|NULL|LIC300-3|LIC300-6
Run Code Online (Sandbox Code Playgroud)
我尝试了以下命令,但不知道如何添加详细信息(3 美元到 7 美元)
awk '
BEGIN{FS=","; OFS="|"};
{ arr[$1] = arr[$1] == ""? $2 : arr[$1] "|" $2 }
END {for (i in arr) print i, arr[i] }' file.csv
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?谢谢!!
a.txt 包含 500,000 列和 2000 行。下面的示例文件仅显示该文件中的前 9 列。该文件的标题位于第一行。
chromosome SNPID rsid position alleleA alleleB 2409086 3514581 3635346
1 1:55487346_C_G rs12117661 55487346 C G 1 0 0
1 1:55487648_A_G rs11588151 55487648 A G 1 0 0
1 1:55489542_C_T rs34232196 55489542 C T 1 0 0
1 1:55490861_T_C rs4500361 55490861 T C 1 0 0
1 1:55491702_T_C rs4927191 55491702 T C 0.894118 0 0
1 1:55491780_A_G rs200159426 55491780 A G 0.894118 0 0
Run Code Online (Sandbox Code Playgroud)
b.txt 包含 45000 列,其中显示每行的列名称。我想根据b.txt从a.txt中提取列。
chromosome
SNPID
rsid
position
alleleA …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Bash或Python中的模式之间对线进行排序。我想基于第二个字段以“,”作为分隔符对行进行排序。
给定以下文本输入文件:
Sample1
T1,64,0.65 MEDIUM
T2,60,0.45 LOW
T3,301,0.68 MEDIUM
T4,65,0.75 HIGH
T5,59,0.72 MEDIUM
T6,51,0.82 HIGH
Sample2
T1,153,0.77 HIGH
T2,152,0.61 MEDIUM
T3,154,0.67 MEDIUM
T4,283,0.66 MEDIUM
T5,161,0.65 MEDIUM
Sample3
T1,147,0.71 MEDIUM
T2,154,0.63 MEDIUM
T3,45,0.63 MEDIUM
T4,259,0.77 HIGH
Run Code Online (Sandbox Code Playgroud)
我期望作为输出:
Sample1
T6,51,0.82 HIGH
T5,59,0.72 MEDIUM
T2,60,0.45 LOW
T1,64,0.65 MEDIUM
T4,65,0.75 HIGH
T3,301,0.68 MEDIUM
Sample2
T2,152,0.61 MEDIUM
T1,153,0.77 HIGH
T3,154,0.67 MEDIUM
T5,161,0.65 MEDIUM
T4,283,0.66 MEDIUM
Sample3
T3,45,0.63 MEDIUM
T1,147,0.71 MEDIUM
T2,154,0.63 MEDIUM
T4,259,0.77 HIGH
Run Code Online (Sandbox Code Playgroud)
我试图通过另一篇文章中的glenn jackman来适应这个建议,但据我测试,它仅适用于2种模式:
> gawk -v cmd="sort -k2" p=1 '
> /^PATTERN2/ …
Run Code Online (Sandbox Code Playgroud)