7.文件操作-2
/mnt/sdb/share/bin/linux-demo/file2 目录中有200个shell文件
依次对文件做如下操作——
(1)删除所有文件的前3行与末尾6行
(2)文件中S后面的1-3个数字是样品名,即1-200
请将名字是3位数字的文件(如100、102等)中含有bwa的行删除
(3)名字是2位数字的文件(如50、60等)中bwa的绝对路径去除,如“/home/taoye/mybin/Module_Mapping//”
引用 皆我百晓生 小程序回复内容作答:
您可以使用以下命令来删除所有目录下所有文件的前3行和末尾6行:
find /path/to/directory -type f -exec sed -i -e '1,3d' -e ':a;$!N;31,$!ba;d' {} \;
请注意将 /path/to/directory
替换为您要操作的目录的路径。
对于名字是3位数字的文件中含有 "bwa" 的行进行删除,可以使用以下命令:
find /path/to/directory -type f -name '[0-9][0-9][0-9]*' -exec sed -i '/bwa/d' {} \;
再对名字是2位数字的文件中的路径进行去除,可以使用以下命令:
find /path/to/directory -type f -name '[0-9][0-9]*' -exec sed -i 's,/home/taoye/mybin/Module_Mapping//,,g' {} \;
同样,请将 /path/to/directory
替换为您要操作的目录的路径。