相关疑难解决方法(0)

是否可以在开头截断文件(就地,相同的索引节点)?

可以删除 a 的尾随字节,file而无需写入新文件 ( > newfile) 并将其移回 ( mv newfile file)。这是通过以下方式完成的truncate

truncate -s -1 file
Run Code Online (Sandbox Code Playgroud)

可以删除前导字节,但通过移动它(这会改变 inode)(对于某些版本的 tail):

tail -c +1 file > newfile ; mv newfile file
Run Code Online (Sandbox Code Playgroud)

那么:如何在不移动文件的情况下做到这一点?
理想情况下,就像截断一样,即使对于非常大的文件也只需要更改几个字节。

注意:sed -i将更改文件索引节点,因此,即使它可能有用,也不是这个问题的答案(IMO)。

shell tail files truncate

9
推荐指数
2
解决办法
6110
查看次数

根据特定列中的值对整个 .csv 进行排序

我有一个csv包含不同收入的文件。我想按收入从高到低对 csv 文件进行排序。我无法找到如何在不使用 python 的情况下在终端中执行此操作。

我不想使用Python。

我想使用简单的东西,比如mlr// 。sedawk

输入:

name,location,capital,profit-lost,revenue,employees,year
company1,location1,35527.19,-33226.25,,0.70,2020
company2,location2,-155921.70,-146.03,,,2020
company3,location3,1873134.74,778424.56,13320152.32,16.90,2020
company4,location4,1050987.60,426317.61,,24.90,2021
company5,location5,368506.18,11997.04,,,2019
company6,location6,7965648.89,369947.14,64413602.44,103.30,2019
company7,location7,1531534.27,125750.94,3054307.36,12.10,2020
company8,location8,6161574.62,906591.96,124804038.64,51.30,2021
Run Code Online (Sandbox Code Playgroud)

输出:

name,location,capital,profit-lost,revenue,employees,year
company8,location8,6161574.62,906591.96,124804038.64,51.30,2021
company6,location6,7965648.89,369947.14,64413602.44,103.30,2019
company3,location3,1873134.74,778424.56,13320152.32,16.90,2020
company7,location7,1531534.27,125750.94,3054307.36,12.10,2020
company1,location1,35527.19,-33226.25,,0.70,2020
company2,location2,-155921.70,-146.03,,,2020
company4,location4,1050987.60,426317.61,,24.90,2021
company5,location5,368506.18,11997.04,,,2019
Run Code Online (Sandbox Code Playgroud)

收入空到几十亿。

希望有人也能帮助我解决这个问题

text-processing sort csv

5
推荐指数
3
解决办法
1867
查看次数

标签 统计

csv ×1

files ×1

shell ×1

sort ×1

tail ×1

text-processing ×1

truncate ×1