在Unix中仅删除我的文件

时间:2009-04-28 14:52:27

标签: unix

我需要从仅属于我的id的unix目录中获取rm文件。我尝试构建此命令,但无济于事:

ls -la | grep 'myid' | awk ' { print $9 } ' | rm

我的结果:用法:rm [-firRe] [ - ]文件......

7 个答案:

答案 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。