想请人帮忙写个shell脚本查找指定目录下最近修改文件,获取文件名,并导入到数据库

想请人帮忙写个shell脚本查找指定目录下最近修改文件,获取文件名,并导入到数据库,第1张

你这最近修改有点模糊啊

使用find 命令查询最近修改的就好了

Mysql 我还不是很会,不过万能百度命令如下,

如果你的mysql里面没有数据库,先新建一个空的数据库abc, 然后用mysqldump -u 用户名 -p 密码 -B abc< asql 这个命令 就能把asql导入到数据库abc里了

如果还有不明白的私信我就好,看到会回复你

cd  /data/apps/demo/>

find -name  'sql'  -mtime 1   查找修改时间超过1天的sql 文件

cd

xx

for

name

in

c;do

mv

$name

/work/${name%c}app

#仅对xx目录的c文件有效,希赛里有很多脚本编程知识的。我都是去那里看的。

<project name="ProjectName" default="deploy" basedir="">

<target name="deploy">

<fileset dir="${basedir}\strPath">

<include name="aaaacpp"/>

</fileset>

</targe>

</project>

basedir="",表示当前项目的根目录。

传给函数的路径是/root/file,如果这是函数的第一个参数,那么函数中可以用 $1 获取。

得到文件名file1和file2后,echo "$1/file1" 就输出/root/file/file1,echo "$1/file2" 输出/root/file/file2。

编码设为ANSI后保存脚本

@echo off & title 获取文件名,修改时间,并记录到表格中 By 依梦琴瑶

cd /d "%~dp0"

::设置要处理的文件夹

set SrcDir=D:\MyFolder

::设置要处理的文件格式,全部格式请直接用

set Ext=

::设置是否包含子目录,是=1,否=其它任何非1的字符

set Sub=0

::保存的表格文件名

set Excel=文件列表表格xlsx

if "%Sub%"=="1" set "S=/s"

pushd "%SrcDir%"

echo 正在获取中,请耐心等待。。。

(echo "文件名","修改时间"

for /f "delims=" %%a in ('dir /a-d%S%/b/tw %Ext% 2^>nul') do (

    echo "%%~nxa","%%~ta"

))>"%tmp%\MyFilesListTempcsv"

popd

call :WriteXLSXFile

cls & echo 文件列表表格生成完毕,请在脚本同目录下查看“%Excel%”。

pause

exit

:WriteXLSXFile

(echo Set oExcel = CreateObject("ExcelApplication"^)

echo oExcelWorkbooksOpen "%tmp%\MyFilesListTempcsv"

echo oExcelActiveSheetColumns("A:O"^)Select

echo oExcelSelectionEntireColumnAutoFit

echo oExcelActiveWorkbookSaveAs "%~dp0%Excel%",51

echo oExcelQuit)>"%tmp%\Csv2Xlsxvbs"

del /f /q "%~dp0%Excel%" 2>nul

"%tmp%\Csv2Xlsxvbs"

goto :eof

Linux shell编程----利用shell脚本遍历某个目录下的所有文件

1 我们都知道shell脚本能够做很多的事,今天刚好一个队友要我写个脚本求某个目录下所有java文件的行数总和

2 ok,为了方便,我把这个目录放到了当前的家目录下,路径为/home/chenguolin/src

3 我在家目录下建了一个ssh的脚本,代码如下,等等来分析代码的意思

[plain]

#!/bin/bash

function ergodic(){

for file in ` ls $1 `

do

if [ -d $1"/"$file ]

then

ergodic $1"/"$file

else

wc -L $1"/"$file | cut -d' ' -f1 >> /home/chenguolin/out

fi

done

}

INIT_PATH="/home/chenguolin/src"

ergodic $INIT_PATH

4 分析一下代码的意思

1 第一行是一个常规的格式,我们要指定这个脚本是由bash来执行

2 第二行是一个脚本的函数

3 第三行是一个for循环,shell里面把反引号里面的命令认为是系统命令,那么代码的意思就是循环枚举这个目录下的文件,$1是指函数的第一个参数

4 第四行跳过,相信大家都懂

5 第五行是一个判断语句,如果当前文件是一个目录

6 if的结构then

7 递归执行这个函数,传入当前目录

8 如果文件不是目录,那么我们执行下一行

9 wc -L $1"/"$file 这个命令是求当前这个文件的行数,没有包括空行

| cut -d' ' -f1 这个命令是管道的应用,通过前面得到的结果我们去重新定义cut的分割符为空格,并且只显示第一列

>> /home/chenguolin/out 把前面得到的内容重定向到家目录下的out文件

10 结束for循环

11 括号,呵呵呵

12 初始化要遍历的目录的路径

13 函数调用并传入这个路径

5 执行

1 首先我们先给这个文件ssh一个执行权限,先进入家目录

cd ~

chmod u+x ssh

2 执行文件

/ssh

3 得到out的内容(我们这边要保证out在执行前是空的内容),可以利用cat来查看

4 我们得到的out内容

5 那么我们得到了每一个文件的行数,现在你是不是想直接手算了啊?

如果真这么想那么你就呵呵呵呵呵了

我们可以利用Python来求出这个文件的总和,我就在家目录下建立一个ppy的Python文件

下面直接贴代码了

[python]

#!/bin/python

sum = 0

while True:

try:

str = raw_input()

except:

break

num = int(str)

sum += num

print sum

6 进入到家目录下直接利用重定向来运行ppy

python ppy < out

以上就是关于想请人帮忙写个shell脚本查找指定目录下最近修改文件,获取文件名,并导入到数据库全部的内容,包括:想请人帮忙写个shell脚本查找指定目录下最近修改文件,获取文件名,并导入到数据库、Linux的shell脚本中如何获得指定目录下的文件名、怎样通过ant脚本获取某个路径下面的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9285906.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存