命令行如何实现这个操作

zjcxc 2017-01-04 03:01:33
在一个文件xx.中有一些目录信息
通过:
cat xx | grep ".+=/.+" -E | awk -F '=' '{print $2}'
可以把目录信息列出来,现在我想把列出的文件和目录做一个确认删除
我尝试使用了如下两种方法,都没有达到效
方法1:
cat xx | grep ".+=/.+" -E | rm -r `awk -F '=' '{print $2}'`
有提示删除的确认,但这个提示并没有给我确认的机会,直接就回到命令提示符了
方法2:
cat xx | grep ".+=/.+" -E | awk -F '=' '{cmd="rm -r "$2;cmd|getline}'
直接删除了,没有给我确认的机会

我想达到的效果是和我直接执行 rm -r 一样,给我提示和确认,如果有子目录和文件,每个子项同样在给我确认
...全文
301 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wang3151244416 2017-01-10
  • 打赏
  • 举报
回复
写脚本呀,只能这样实现了!
zjcxc 2017-01-05
  • 打赏
  • 举报
回复
看来是没办法保留 rm 自己的确认了 我是想通过 rm 自己的确认来显示一次要删除目录下的东东,避免删除误删除 通过 cat <多行路径> | xargs -n 1 find-| xargs -n 1 p rm -rf 有一些类似的效果了,不过 目录下找聘的东东,可能是文件,也可能是目录,不能笼统的通过 rm -rf 处理,有办法做判断 么?
PanDR 2017-01-04
  • 打赏
  • 举报
回复
应该可以写shell脚本满足你的要求,如果要是就一行命令的话我觉得可以试试:
cat <多行路径> | xargs -p -I {} rm -rf {}
交互让xargs命令来确认是否执行每个命令

19,614

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧