我正在尝试通过 bash 脚本检查时钟是否同步。
所以首先我执行了timedatectl输出以下内容的命令:
Local time: Mi 2021-03-17 12:52:53 CET
Universal time: Mi 2021-03-17 11:52:53 UTC
RTC time: Mi 2021-03-17 11:52:53
Time zone: Europe/Berlin (CET, +0100)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Run Code Online (Sandbox Code Playgroud)
因此我们的目标是获得的价值System clock synchronized是yes,它分配给一个变量并打印。因此我做了以下工作:
1-# check if time synchronized
2-syncTime="$(timedatectl | grep 'System clock')" # returns the whole line
3-echo "$syncTime"# make sure the line is saved
4-ifTimeSynched="$( $syncTime | grep -oP 'synchronized: \K\w+')" # this supposes …Run Code Online (Sandbox Code Playgroud) 如何按排序$NF|"sort -u"然后打印整行
column1 COlumn2 column3
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0002 1.40 Feb 05 2019 I42 v2.04 (04/18/2019) ov0002
ov0001 1.46 Jul 25 2019 I42 v2.14 (09/05/2019) ov0001
ov0001 1.45 Jun 27 2019 I42 v2.32 (03/09/2020) ov0001 …Run Code Online (Sandbox Code Playgroud) 我有数百个约 1000 万行的全基因组关联研究文件。对于file1.txt:
SNP BP B SE P
123 12 0.1 0.01 0.1
...
Run Code Online (Sandbox Code Playgroud)
我想在每个文件的末尾添加一列,其中只包含该文件的名称,以便最终结果file1.txt是:
SNP BP B SE P name
123 12 0.1 0.01 0.1 file1.txt
...
Run Code Online (Sandbox Code Playgroud)
我想对数百个文件执行此操作。目前我可以使用以下方法添加一列:
for file in *.txt; do awk 'BEGIN{OFS="\t"}{print $0, FILENAME}' $file; done
Run Code Online (Sandbox Code Playgroud)
这将打印整个文件,但不会覆盖现有文件。我只想向已经存在的数据框添加一列。任何建议非常感谢!
我正在编写一个脚本并停留在必须根据模式提取字符串的地方。我曾尝试使用 awk 和 cut 但无法获得正确的结果。
这些是我的文件中的 3 行,我希望提取最后一列
预期产出
我尝试了下面最接近的一个,但它只提取了几行而不是全部。
awk -F"," '{print $10}' Filename.txt
Run Code Online (Sandbox Code Playgroud)
文件内容
./subsearch_nested_fa89eeb0810630b9_1626351940.6/metadata.csv:2:"read : [ admin ], write : [ admin ]",admin,"MxMonitor_Marvel_PI49",300
./scheduler__nobody_YWxlcnRfbWFuYWdlcg__RMD5922da96313b0bb40_at_1626282000_20762/metadata.csv:2:"read : [ splunk-system-user ], write : [ splunk-system-user ]","splunk-system-user","alert_manager",86400
./subsearch_admin__admin_TXhNb25pdG9yX01hcnZlbF9QSTQ5__search12_1626351937.20757776_1626351938.1/metadata.csv:2:"read : [ admin ], write : [ admin ]",admin,"MxMonitor_Marvel_PI49",300
Run Code Online (Sandbox Code Playgroud) 我有任意嵌套的 JSON 对象,类似于下面的内容。
{
"parent1" : "someval"`,
"parent2" : {
"a" : "someval",
"b" : "someval"
},
"parent3" : {
"child1" : {
"a" : "someval"
},
"child2" : {
"b" : "someval"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要递归地遍历它们并检查是否有任何父项有子键a或b或两者,并生成该父项的 JSON 路径,如下所示:
Output:
parent2
parent3.child1
parent3.child2
Run Code Online (Sandbox Code Playgroud)
我尝试过使用
jq -r 'path(..) | map (. | tostring) | join (".")
Run Code Online (Sandbox Code Playgroud)
这可以帮助我生成所有路径,但我还没有找到一种方法来成功地组合诸如 之类的has("a")条件path。我怎样才能实现这一目标?
我正在用awk编写一个脚本,用文件夹中所有文件的双重双引号替换所有双引号.
我在stackoverflow中发现了这个,但我得到了其他结果
awk 'BEGIN{FS=OFS="#"} {for (i=0;i<=NF;i++) gsub(/"/, "&&",$i)} 1 $f3 > $f2
Run Code Online (Sandbox Code Playgroud)
此示例示例的输出:
01##"hello world"98##
Run Code Online (Sandbox Code Playgroud)
是
01##""""hello world""""98##
Run Code Online (Sandbox Code Playgroud)
我想得到
01##""hello world""98##
Run Code Online (Sandbox Code Playgroud) 假设我有一个文本文件(EmployeeDetails.txt),其中写入了内容(新行中的所有名称/值),如下所述: -
EmployeeName=XYZ
EmployeeBand=D5
EmployeeDesignation=SSE
Run Code Online (Sandbox Code Playgroud)
我需要Linux命令,它将读取此文件EmployeeDetails.txt并为其提供值EmployeeBand.输出应该是
D5
#!/bin/bash
x=10
echo x=$x
z=20
echo z=$z
y= expr $x + $z
echo y=$y
Run Code Online (Sandbox Code Playgroud)
我想输出像:
x=10
z=20
y=30
Run Code Online (Sandbox Code Playgroud)
但它给出了如下错误:
x=10
z=20
30
y=
Run Code Online (Sandbox Code Playgroud) 我只想提取那些在输入文件中只出现一次的记录
输入文件1
CHEMBL184618
CHEMBL184618
CHEMBL198362
CHEMBL198362
CHEMBL218394
CHEMBL218394
CHEMBL221959
CHEMBL221959
CHEMBL24828
CHEMBL24827
Run Code Online (Sandbox Code Playgroud)
预期产出
CHEMBL24828
CHEMBL24827
Run Code Online (Sandbox Code Playgroud)
我已经完成了排序Filename.txt | uniq -d查找重复的ID并将它们保存在单独的文件中.然后我找到排序Filename.txt | uniq -c.第三步是从唯一ID中删除重复的ID.我想要一种有效的方法.
我有以下数据的CSV
10.000.00.00,D3,1
10.001.00.00,C4,2
10.002.00.00,C5,2
10.000.88.99,B1,3
10.000.00.00,B2,3
10.000.00.00,C6,3
10.000.99.00,D1,3
Run Code Online (Sandbox Code Playgroud)
尝试下面的代码
cat Data.csv | awk -F , '$3 == "3" { print }'
Run Code Online (Sandbox Code Playgroud)
只需要获取最后值为3的行。
请让我知道该怎么做