如题,试图通过gawk逐行读取文本,经处理后,xargs传递给rm进行删除;已经测试:rm能接收到;但全部报错,无法删除!!!确定有权限
1、gawk ‘{print “/data/media/0/” $0}’ /data/media/0/adzw.txt|$xargs -L 1 -P 10 能够显示出正确的;
2、gawk ‘{print $0}’ /data/media/0/adzw.txt|$xargs -L 1 -P 10 rm -rf 能够删除;gawk -v FS=‘\n’ -v ORS=‘\0’ ‘{print $0}’ /data/media/0/adzw.txt|$xargs -0 -L 1 -P 10 rm -r 也能删除
3、gawk ‘{print “/data/media/0/” $0}’ /data/media/0/adzw.txt|$xargs -L 1 -P 10 rm -rf 报错,提示无法删除~~~
折腾了一天,快崩溃了
gawk ‘{print “/data/media/0/” $0}’ /data/media/0/adzw.txt|$xargs -L 1 -P 10 | xargs rm -rf
再套一层呢?
具体得看报啥错了,因为命令理论上是没问题的,你说的gawk ‘{print $0}’ /data/media/0/adzw.txt|$xargs -L 1 -P 10 rm -rf 能够删除,是在 /data/media/0下执行的?
感谢大佬的回复!!谢谢了!!
这是在手机终端模拟器(NeoTerm或高级终端Termux)上运行的脚本的一部分。
试图通过脚本,清理系统和App的垃圾。
终端已安装第三方gawk(因为手机自身的Toybox和第三方Busybox不带该命令);且Busybox的awk貌似被阉割了的。
执行后提示如下:1、执行 gawk ‘{printf “/data/media/0/” $0}’ /data/media/0/adzw.txt|xargs -L 1 -P 3 rm -r

2、执行 gawk ‘{print “/data/media/0/” $0}’ /data/media/0/adzw.txt|xargs -L 1 -P 3 rm -r
是在/data/media/0 下执行的
两个命令本质上是一样的,会不会是字符串拼接的时候除了问题,你把字符串最后的‘/’去掉试试
确实是拼接的错误,需要字符串拼接,不能这么硬接
谢谢大佬了

