gpt4 book ai didi

awk 从特定列中的字符串开头删除字符

转载 作者:行者123 更新时间:2023-12-01 22:00:06 28 4
gpt4 key购买 nike

正文如下:

1.6M    2014-08-21 20:56        ./file1
1.6M 2014-08-22 10:59 ./file2
24K 2014-08-26 10:39 ../file3
0 2014-08-21 14:12 ./file4
0 2014-08-22 18:05 ../file5
1.5M 2014-08-22 04:15 ./file6
8.0K 2014-08-20 20:31 ../file7

我希望输出按时间排序:

8.0K    2014-08-20 20:31        ../file7
0 2014-08-21 14:12 ./file4
1.6M 2014-08-21 20:56 ./file1
1.5M 2014-08-22 04:15 ./file6
1.6M 2014-08-22 10:59 ./file2
0 2014-08-22 18:05 ../file5
24K 2014-08-26 10:39 ../file3

然后我希望删除前导 ./ 但不删除 ../ 并且仅打印大小和文件名...

到目前为止我已经得到:

sort -k 2 | awk 'BEGIN{FS="\t"; OFS="\t"} {gsub(/.\//, ""); print}'

这给出:

8.0K        .file7
0 file4
1.6M file1
1.5M file6
1.6M file2
0 .file5
24K .file3

如何使 gsub 仅适用于第 3 列的开头(前 2 个字符),以便 ../fileX 不会变成 .fileX

最佳答案

我发现了......非常接近:),只需要稍微改变 gsub 命令

已编辑

{gsub(/^\.\//, "", $3)

关于awk 从特定列中的字符串开头删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857533/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com