如何解决Terminal / Bash命令以递归方式将目录中的每个文件编入目录,并将前100行存储在与所选文件名称相同的文本文件中
正如标题所述,我在远程服务器上有一个目录,其中有一堆巨大的文件。我只想对目录中每个文件的前100行进行CAT,并将其存储在本地目录中以.cat文件命名的.txt文件中。通过一个命令可以做到吗?还是bash脚本是必需的?
解决方法
#/usr/bin/bash
remote_dir="/home/gary/dir"
local_output_dir="/home/gary/data"
dir_listing="$(ssh user@host ls -Q $remote_dir)"
echo DIR: $dir_listing
IFS='
'
for file in $dir_listing
do
echo Processing $file...
ssh -q user@host "cat "${remote_dir}/$file" | head -100" \> "${local_output_dir}/hun.$file"
done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。