我正在尝试按降序对数据文件进行排序。数据文件由由制表符分隔的三列给出;我想对第三列按降序对它们进行排序(第三列作为指数值的科学记数法给出):
cat eII_surf.txt | sort -gr -k3
Run Code Online (Sandbox Code Playgroud)
不知何故,这在以前的机器上有效,但我的新机器似乎根本不起作用。
这里有一个简单的例子:
cat test.txt:
6.7 2.3e-12
5.0 3.4e-18
4.5 5.6e-16
4.2 2.1e-15
4.0 2.9e-17
2.4 2.5e-15
1.0 1.0e-17
0.5 1.0e-18
Run Code Online (Sandbox Code Playgroud)
和cat test.txt | sort -gr -k2:
4.5 5.6e-16
5.0 3.4e-18
6.7 2.3e-12
4.2 2.1e-15
4.0 2.9e-17
2.4 2.5e-15
1.0 1.0e-17
0.5 1.0e-18
Run Code Online (Sandbox Code Playgroud)
这是输出locale:
LANG=en_US.utf8
LC_CTYPE="en_US.utf8"
LC_NUMERIC=de_DE.utf8
LC_TIME=de_DE.utf8
LC_COLLATE="en_US.utf8"
LC_MONETARY=de_DE.utf8
LC_MESSAGES="en_US.utf8"
LC_PAPER=de_DE.utf8
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT=de_DE.utf8
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud) Unix 有几个实用程序可用于对流(grep、join、cut、 附加的东西awk)执行类似关系代数的操作。是否有现成的分组聚合实用程序(或可在大多数 Linux 发行版上安装)?
目标是获取一个文件,其中一列中有一些键,另一列中有一些值,例如:
foo.txt u1 394082
bar.txt u2 3948
frob.c u1 29322
Run Code Online (Sandbox Code Playgroud)
并输出一个文件,该文件具有一列的唯一值,以及另一列中值的一些聚合。例如,第 3 列与第 2 列的总和:
$ aggregate --sum=3 --group-by=2 <data
u1 423404
u2 3948
Run Code Online (Sandbox Code Playgroud)
是否存在这样的实用程序(Perl、Awk 等,单行程序不算在内),还是等待编写的内容?
我有一个文件,其中包含从 G1 到 G229 的变量。我想用G230到G469替换它们;我怎么能做到这一点?我试过这个 bash 脚本,但没有用:
#!/bin/bash
for num in {1..229}
do
echo G$num
N=$(($num+229))
echo G$N
sed -i -e 's/$G$num/$G$N/g' file
done
Run Code Online (Sandbox Code Playgroud) 我正在处理一个文件,其中包含非常大的值的列。
(比如 40 位数字:646512354651316486246729519751795724672467596754627.06843
等等......)
我想用科学记数法表示这些数字,但点后只有 3 或 4 个数字。有没有办法sed在我的文件中出现的每个数字上使用或做些什么?
我正在处理一个日志文件,其中包含如下所示的条目:
$Hostname1: 0x7FDBF4B1AB10 ( 23698) waiting 100 seconds, NSDThread: for I/O completion on disk vd4
$Hostname2: 0x7F2D10A2F8C0 ( 25393) waiting 200 seconds, NSDThread: for I/O completion on disk vd35
$Hostname3: 0x7F2D109F4290 ( 25343) waiting 900 seconds, NSDThread: for I/O completion on disk vd11
$Hostname4: 0x7FDBF4B1AB30 ( 23698) waiting 100 seconds, NSDThread: for I/O completion on disk vd40
$Hostname5: 0x7F2D10A2F830 ( 25392) waiting 750 seconds, NSDThread: for I/O completion on disk vd13
$Hostname6: 0x7F2D109F4240 ( 25342) waiting 500 seconds, NSDThread: for …Run Code Online (Sandbox Code Playgroud) 以下命令通过BTC从特定交易所获取价格来实现我的目标。
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
Run Code Online (Sandbox Code Playgroud)
输出暂时是,7222.25000000但我想得到它7222.25
有一个包含来自 GoPro 的距离数据的字段。需要将文件连接在一起,但每个新 csv 文件的距离从 0 开始,因为视频文件只有设定的持续时间。
那么如何在距离场中检查数字何时小于前一个记录,以便从那时起将其添加到所有内容中等等?
如果可能的话,时间字段如何以 0.05 的增量从 0 增加?
我花了很长时间在几个论坛上阅读 awk 问题,试图解决这个问题,但没有解决,所以我终于自己提出了这个问题。
这是我用来连接文件并保留一个标题的 awk one-liner:
awk '(NR == 1) || (FNR > 1)' *.csv > all.csv
Run Code Online (Sandbox Code Playgroud)
您可以在下面看到每个新工作表上一个文件末尾的数字如何重置为 0。
csv 1 结束:
Time Feet Meters Miles Kilometers
676.65 9723.24067 2963.643756 1.841523 2.963644
676.7 9723.983124 2963.870056 1.841663 2.96387
676.75 9724.694981 2964.08703 1.841798 2.964087
676.8 9725.429621 2964.310948 1.841937 2.964311
676.85 9726.20625 2964.547665 1.842085 2.964548
676.9 9726.936465 2964.770235 1.842223 2.96477
676.95 9727.547469 2964.956469 1.842339 2.964956
Run Code Online (Sandbox Code Playgroud)
csv 2 的开始:
Time Feet …Run Code Online (Sandbox Code Playgroud) 如何从数字计算百分比
例如我们设置
number=248
Run Code Online (Sandbox Code Playgroud)
我们想知道 $number 的 80% 是多少
那么如何在 bash 中计算它呢?
预期输出 198(正好是 198.4,但我们想用 floor 向下舍入)
这是我的代码;我想$COUNTER多次比较各种。
if [ "$COUNTER" = "5" ]; then
Run Code Online (Sandbox Code Playgroud)
没关系,但我希望它在诸如等动态时间这样做5,10,15,20。
我有一个如下表数据
abc 1 1 1
bcd 2 2 4
bcd 12 23 3
cde 3 5 5
cde 3 4 5
cde 14 2 25
Run Code Online (Sandbox Code Playgroud)
我想要根据第一列中的变量计算每列中的值的总和,所需的结果如下所示:
abc 1 1 1
bcd 14 25 7
cde 20 11 35
Run Code Online (Sandbox Code Playgroud)
我像这样使用 awk 命令
awk -F"\t" '{for(n=2;n<=NF; ++n)a[$1]+=$n}END{for(i in a ) print i, a[i] }' tablefilepath
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下:
abc 3
bcd 46
cde 66
Run Code Online (Sandbox Code Playgroud)
我认为我的代码结尾是错误的,但不知道如何修复它。我需要一些指示来修复代码。
numeric-data ×10
awk ×2
sed ×2
bash ×1
jq ×1
locale ×1
scripting ×1
shell-script ×1
sort ×1
test ×1