![](/img/trans.png)
[英]how to extract specific lines from file and append it to another existing file in shell script and then delete from original?
[英]How to delete specific prefix from directory name by shell script
我直接创建了几个,如下所示
admin_users/
admin_cars/
admin_roles/
admin_.../
... other 8 directories.
现在,我想将这些文件移动到 admin 目录,并删除后缀。
users
cars
roles
... other 8 directories.
我怎样才能做到这一点?
所以,我认为你想删除前缀“admin”? 如果您确定这将是您的目录名称,您可以手动创建目录 admin。
在那之后,
- 您可以遍历当前目录(前提是您从相关目录运行脚本)
- 找到所有目录
- 提取下划线后的部分
- 使用它来重命名并在管理目录中移动。
类似这样的东西——
#!/bin/bash
for file in `ls -l | grep "^d" | awk '{print $9}'`; do
suff=`echo $file | cut -d '_' -f 2`
echo $suff
mv $file admin/$suff
done
现在,我想将这些文件复制到 admin 目录,并删除后缀。
您说过要将这些目录复制到另一个父目录。 cp
命令支持定义目标文件名:
cp -r admin_users /path/to/admin/users
您可以为此编写一个循环。 对于“删除前缀”部分,说f
是循环中的变量:
kent$ echo $f
admin_users
kent$ echo "/path/to/admin/${f##admin_}"
/path/to/admin/users
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.