FreeBSD Bash awk $ 11在行末添加\之前吗?

京东

我一直在撞墙,试图使它起作用。

我正在编写用于freebsd的rsync备份脚本。我在远程服务器上没有root特权,因此我需要在远程服务器上很好地对文件进行mv和cp操作,因此一旦还原它们,我将失去所有权。

我正在尝试创建一个权限文件来备份所有权限和所有权,以便在数据还原完成后重新应用。

这是备用代码

find /dir -ls >> output_file

这是还原代码

for f in `cat output_file|awk '{print $11}'` ; do chown `cat output_file|grep $f\$|awk '{print $5 ":" $6}'` $f ; done

这是output_file的示例

 23319     3857 -rwxrwxrwx    1 root                         root                          1867545 Jan  9 22:55 /mnt/Tank2/Users/root/stampede/Little_House.jpg
 23320     3089 -rwxrwxrwx    1 root                         root                          1530449 Jan  9 22:57 /mnt/Tank2/Users/root/stampede/Milky_Way.jpg
 23325     3857 -rwxrwxrwx    1 root                         root                          1938544 Jan  9 22:47 /mnt/Tank2/Users/root/stampede/Shy_Horses.jpg
 23324     3857 -rwxrwxrwx    1 root                         root                          1940621 Jan  9 22:50 /mnt/Tank2/Users/root/stampede/Reinforcements.jpg

除非文件或文件夹名称中有空格,否则一切都会正常进行,否则它将失败。如果我的文件夹被称为“文件夹1”,则脚本只会得到“文件夹”,我想我所要做的就是让“ cat output_file | awk'{print $ 11}'”从$ 11扩展到该行的末尾且在每个空格之前添加\,以便输出符合标准* nux文件格式,但是我无法弄清楚该怎么做。

任何帮助将是巨大的!

威廉·珀塞尔

您的工作方式太辛苦了,并且使计算机的工作也太辛苦了。切勿用猫将grep传送到awk。在这种情况下,您不需要任何这些工具。做就是了:

while read inode blocks perm links owner group bytes month day time path; do 
    chown $owner:$group "$path"
done < output_file

读取会将所有尾随字段放入路径中,从而保留空白。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

awk添加先前启动的变量bash

来自分类Dev

我可以在FreeBSD中运行Bash脚本而不修改它们吗?

来自分类Dev

Bash script : Unexpected End Of File (FreeBSD)

来自分类Dev

使用tcpdump / sed / awk处理FreeBSD的PF日志

来自分类Dev

awk in bash not working

来自分类Dev

谁 awk Bash脚本

来自分类Dev

谁 awk Bash脚本

来自分类Dev

Bash / Awk文件排序

来自分类Dev

bash中的AWK问题

来自分类Dev

awk 中的 Bash 变量

来自分类Dev

bash 循环中的 awk

来自分类Dev

可以让 awk 使用`exit 2` 退出 bash 脚本吗?

来自分类Dev

向 awk 和 inotify 添加脚本 bash 变量

来自分类Dev

Awk vs Awk + cut vs.bash

来自分类Dev

是否可以在freebsd 9中创建freebsd 10或11监狱?

来自分类Dev

几个传输文件后rsync挂起(Windows从Bash到FreeBSD)

来自分类Dev

几个传输文件后rsync挂起(Windows从Bash到FreeBSD)

来自分类Dev

如何确定文件是否在 FreeBSD 上的 bash 脚本中打开

来自分类Dev

Ubuntu bash awk奇怪的行为

来自分类Dev

在bash中转义斜线(awk)

来自分类Dev

bash查找并替换-sed awk

来自分类Dev

BASH:使用awk解析变量

来自分类Dev

bash程序中的AWK命令

来自分类Dev

Awk Bash If-Else问题

来自分类Dev

使用 awk 传递给 Bash

来自分类Dev

使GCC以C ++ 11模式在FreeBSD上运行

来自分类Dev

FreeBSD 11混乱的控制台

来自分类Dev

我可以在freeBSD上安装IntelliJidea吗?

来自分类Dev

freebsd C crypt()线程安全吗?