linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell

要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick:

CentOS上安装:

yum install ImageMagick -y

Debian上安装:

apt-get install ImageMagick -y

脚本:

#!/bin/bash
for each in /要处理的图片目录/*{.jpg,.gif}
s=`du -k $each | awk '{print $1}'`
if [ $s -gt 10 ]; then
  #convert -quality 80 -resize 600x800 $each $each
  composite -gravity southeast -dissolve 80 /<a href="http://www.jincon.com/tag/%25E6%25B0%25B4%25E5%258D%25B0/" rel="external nofollow" onclick="javascript:tagshow('水印');return false;">水印</a>目录/mark.jpg $each $each 2>/dev/null
  echo "$each: done!"
fi
done
exit 0

主要是脚本,对此我们来简单分析一下:

convert -quality 80 -resize 600x800 $each $each

这个是进行图片缩小的

-quality 80                            代表图片质量
600x800                                图片的大小 600宽X800高

不需要的去掉就好!

composite -gravity southeast -dissolve 80 /水印目录/mark.jpg $each $each 2>/dev/null

这句是加图片水印的 

-gravity southeast                图片水印的位置south就是南east就是东也就是图片的右下角
-dissolve                              80这个是设置水印的透明度的.越小越透明.
/水印目录/mark.jpg     水印图片的位置
if [ $s -gt 10 ]      判断图片大小 小于10K的不加水印
for each in /要处理的图片目录/*{.jpg,.gif}  需要加水印的目录 需要加水印的文件格式

上面文件配置好之后,保存为watermark.sh
然后运行就好

sh ./watermark.sh

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
, shell脚本
, 方法
添加水印
批量执行shell脚本、shell脚本批量注释、批量shell存活脚本、批量ping shell脚本、shell脚本批量部署,以便于您获取更多的相关知识。

时间: 2024-10-26 21:12:10

linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell的相关文章

python实现批量获取指定文件夹下的所有文件的厂商信息_python

本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import pefile import codecs, sys import wx import struct #输出中打印Unicode字符 #sys.stdout = codecs.lookup('utf-8')[-1](sys.stdout) def addToDict(theDict,PEfile_Pa

遍历指定文件夹下所有的xml文件并动态生成HTML页面!

xml|遍历|动态|生成html|页面 ++++++++++++++++++++++++++++功能:遍历指定文件夹下所有的xml文件并动态生成HTML页面!++++++++++++++++++++++++++++using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.Sess

PHP遍历指定文件夹下的所有文件

PHP遍历指定文件夹下的所有文件,如下代码: <?php   session_start();  if($Submit=="提交"){   $shili=$file_dir;  }  ?>  <html>  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <title>遍历指定目录

asp.net 获取指定文件夹下所有子目录及文件(树形)_实用技巧

#region 获取指定文件夹下所有子目录及文件(树形)         /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(树形)          * 参    数:Path:详细路径          * 调用示列:          *           string strDirlist = Server.M

php随机显示指定文件夹下图片的方法_php技巧

本文实例讲述了php随机显示指定文件夹下图片的方法.分享给大家供大家参考.具体如下: 此代码会从指定的服务器文件夹随机选择一个图片进行显示,非常有用,图片格式为.gif,.jpg,.png <?php //This will get an array of all the gif, jpg and png images in a folder $img_array = glob("/path/to/images/*.{gif,jpg,png}",GLOB_BRACE); //Pi

asp.net C# 获取指定文件夹下所有子目录及文件(目录数与文件数)

  int j = 0; protected void button1_click(object sender, eventargs e) { directoryinfo dir = new directoryinfo(textbox1.text.tostring()); label1.text = getallfiles(dir).tostring(); }getallfiles方法为自定义方法,实现遍历整个文件夹文件的方法.代码如下: public int getallfiles(direc

三种获取指定文件夹下所有的文件名称方法

返回包含文件名的路径.然后再截取文件名 如: string[]   filenames=directory.getfiles(path); for(string   files   in   filenames) { response.write(files.replace(path,"")); } 方法二: directoryinfo   dir   =   new   directoryinfo(@"c:data");                 filei

Linux du命令查看文件夹大小并按降序排列_linux shell

1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept

怎么删除指定文件和指定文件夹下所有文件

问题描述 问题一:服务器文件在目录D:wwwrootweb222.txt,我需要删除222.txt,完整的asp代码怎么写.问题二:服务器文件在目录D:wwwrootweb222.txt,我需要删除web文件夹下所有文件,完整的asp代码怎么写. 解决方案 解决方案二:http://www.cnblogs.com/wangshenhe/archive/2012/05/09/2490438.html百度...解决方案三:newDirectoryInfo(path).Delete(true); 参数