gpt4 book ai didi

windows - 用于打印出 sizeof 文件夹 cygwin 的 cmd 别名

转载 作者:可可西里 更新时间:2023-11-01 11:28:34 26 4
gpt4 key购买 nike

我目前正在尝试弄清楚如何才能生成允许管道的 Doskey 别名。

我想以 kB 为单位收集文件夹大小。

我试过了

alias dirsize=du -P -c -a -b $1 | grep total | awk '{print "Folder has: " $1 "kB"}'

但我只是得到了输出

Folder has: kB

刚用的时候

dirsize=du -P -c -a -b $1 | grep total

它让我感动

C:\>dirsize Temp
1364201 total

但是我现在如何使用 awk 管道呢?

我做错了什么?

最佳答案

doskey dirsize=du -P -c -a -b $1 $b grep -E "total$" $b awk "{i=1;print \"Has \" $i \" bytes\"}"

在 doskey 别名中

  • 管道字符是$b

  • $1 的所有实例将替换为别名调用中的第一个参数,因此,$1awk里面命令将在别名解析期间被替换,并且在执行时它不会是对参数的引用

这个问题里面通常的解决办法是doskey别名是转换$1进入不会干扰命令执行但避免doskey解析器处理它的东西。为此,通常的解决方案是使用 $^1 , 但在这种情况下,此序列不由 cmd 处理, 它由 awk 处理和 ^不被视为转义字符。

我们需要在里面解决awk , 替换直接 $1使用变量 ( i ) 存储索引以检索和替换 $1$idoskey里面没有特殊意义别名。

关于windows - 用于打印出 sizeof 文件夹 cygwin 的 cmd 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842545/

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