我需要从仅属于我的id的unix目录中获取rm文件。我尝试构建此命令,但无济于事:
ls -la | grep 'myid' | awk ' { print $9 } ' | rm
我的结果:用法:rm [-firRe] [ - ]文件......
答案 0 :(得分:16)
你真的很亲密。尝试:
rm `ls -la | grep 'myid' | awk ' { print $9 } '`
请注意,这些是反引号,而不是原始管道中前三个段周围的单引号。同样对我来说,文件名列是$ 8,但如果$ 9是适合你的列,那么应该这样做。
答案 1 :(得分:15)
find . -user myuser -print0 |xargs -0 rm
将您自己的用户ID(或用户编号)放入“myuser”。
答案 2 :(得分:12)
rm不读取标准输入。
find -user $(whoami)-delete
请务必在没有删除的情况下进行测试。
答案 3 :(得分:4)
尝试使用find
搜索属于用户的文件,然后将其删除:
find . -user *username* -delete
更多信息:man find
答案 4 :(得分:3)
rm不接受在stdin上删除的文件列表(这是你通过管道传递的。
试试这个
find . -type f -user username -exec rm -f {} \;
答案 5 :(得分:2)
从文件夹user_name
中删除/tmp
的文件(您可以将其替换为您的文件夹)超过60天 - 您可以在此处使用任何日期,但请确保在{{1}中保留证据deleted.txt
主文件夹中的文件:
user_name
答案 6 :(得分:1)
您可以使用find:
find . -maxdepth 1 -type f -user myid -print0 | xargs -0 rm -f
如果您希望它也能处理子目录,请删除-maxdepth。