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 

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...