首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用于获取文件名的前12个字符的Bash循环,使用输出为每个文件运行触摸-t命令

Bash循环是一种在Linux和Unix系统中使用的循环结构,用于重复执行一系列命令。在这个问答内容中,我们需要编写一个Bash循环来获取文件名的前12个字符,并使用touch命令为每个文件运行。

以下是一个完善且全面的答案:

Bash循环是一种在Linux和Unix系统中使用的循环结构,用于重复执行一系列命令。在这个问答内容中,我们可以使用以下的Bash循环来获取文件名的前12个字符,并使用touch命令为每个文件运行触摸-t命令:

代码语言:txt
复制
for file in *; do
  filename=$(basename "$file")
  filename="${filename:0:12}"
  touch -t "$(date -r "$file" +"%Y%m%d%H%M.%S")" "$filename"
done

上述代码中,我们使用了一个for循环来遍历当前目录下的所有文件。对于每个文件,我们首先使用basename命令获取文件名,然后使用字符串切片的方式截取前12个字符。接下来,我们使用touch命令为每个文件运行触摸-t命令,同时使用date命令获取原始文件的时间戳,并将其应用于新文件。

这个Bash循环的应用场景可以是在需要对一系列文件进行批量操作时,例如修改文件名、修改文件属性等。通过获取文件名的前12个字符,我们可以对文件进行更精确的操作。

腾讯云提供了丰富的云计算产品,其中与文件操作相关的产品包括对象存储(COS)和云服务器(CVM)。对象存储(COS)是一种高可用、高可靠、低成本的云端存储服务,适用于存储和管理大量非结构化数据。云服务器(CVM)是一种弹性计算服务,提供了可扩展的计算能力,可以用于运行各种应用程序。

关于腾讯云对象存储(COS)的产品介绍和链接地址如下:

  • 产品介绍:腾讯云对象存储(COS)是一种高可用、高可靠、低成本的云端存储服务,适用于存储和管理大量非结构化数据。它提供了简单易用的API接口,方便开发者进行文件的上传、下载、删除等操作。
  • 链接地址:腾讯云对象存储(COS)

关于腾讯云云服务器(CVM)的产品介绍和链接地址如下:

  • 产品介绍:腾讯云云服务器(CVM)是一种弹性计算服务,提供了可扩展的计算能力,可以用于运行各种应用程序。它提供了多种配置和规格的云服务器实例,满足不同业务需求。
  • 链接地址:腾讯云云服务器(CVM)

通过使用腾讯云的对象存储(COS)和云服务器(CVM),我们可以方便地进行文件的存储和计算操作,实现对文件的批量处理和管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shell base用法描述

中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用bash关键字(可用help命令查看保留关键字)。...数组 数组定义 bash支持一维数组,不支持多维数组 数组下标从0开始,获取数组时下边可以使用算术表达式 数组用()包裹,每个子元素都用空格分开 #直接定义 arr1=(1 2 3 4) #单独定义...传参 使用方法 我们在使用脚本文件时候可以向文件中传递一些参数,脚本则可以使用n这种方式来获取参数,n这种方式来获取参数,0代表文件名,1代表是第一个参数,1代表是第一个参数,2代表第二个参数,以此类推.../bin/bash echo "文件名:$0"; echo "第一个参数:$1"; echo "第二个参数:$2"; 然后用下列代码运行文件bash test1.sh 1 2 输出: 文件名...后台运行最后一个进程ID $@ 与$*相同,但使用时家加引号 $- 现时shell当前选项 $? 现时最后命令退出状态。0表示没有错误,其他表示错误 1.6.

33020

高级shell脚本编程指南_python快速入门

输出 4 1 2 提取子字符串:使用字符串截取命令用于提取部分字符串 string="this is a test" echo ${string:2:6} # 表示从第3个字符开始截取 1 2 上式输出结果...is is,如下图 查找字符串:用于查找字符位置,输出结果字符在字符串中所占数据位置,如果查找多个字符,那哪个字母先出现就计算哪个,如下查找it中i和t个字符t先出现,输出1 string...1 2 3 4 5 6 7 8 9 执行脚本,结果输出如下 文件可读 1 7.shell编程中命令 7.1 echo命令 echo命令在shell中用于字符串输出,调用格式: echo string...commandN done # 写成一行同样使用分号将语句分开 需要注意是: in列表中可以包含替换、字符串和文件名等 in列表是可选,如果默认不适用,将会循环使用命令行中位置参数 应用脚本编写如下...后台运行最后一个进程ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令退出状态。

3.2K10
  • sh脚本

    aba bbb 上面命令中,[!a]表示文件名第二个字符不是a文件名,所以返回了aba和bbb两个文件。 注意,如果需要匹配[字符,可以放在方括号内,比如[[aeiou]。...$ mkdir {2007..2009}-{01..12} 上面命令会新建36个子目录,每个子目录名字都是”年份-月份“。 这个写法另一个常见用途,是直接用于for循环。...[:digit:]]* 字符类也属于文件名扩展,如果没有匹配文件名,字符类就会原样输出。 注意:文件名可以使用通配符。 Bash 允许文件名使用通配符,即文件名包括特殊字符。...mktemp 命令,trap 命令 运行mktemp命令,就能生成一个临时文件Bash 脚本使用mktemp命令用法如下。 #!...-p参数可以指定临时文件所在目录。 -t参数可以指定临时文件文件名模板,模板末尾必须至少包含三个连续X字符,表示随机字符,建议至少使用六个X。默认文件名模板是tmp.后接十个随机字符。

    10.8K30

    2020-09_Shell 编程笔记

    /bin/bash # 清除日志脚本 LOG_DIR=/var/log ROOT_UID=0 # $UID0时候,用户才具有root用户权限 # 要使用root用户来运行,中括号加空格隔开 if...注意:这一行必须每个脚本顶端第一行。 sh bash软链接。 如果python,则第一行,执行如:python test.py执行 #!...环境变量 环境变量用于定义 Shell 运行环境,保证 Shell 命令正确执执行。...位置变量 0 获取当前执行 shell 脚本文件名,包括脚本路径,如 dirname 0 # 文件路径 basename n 获 取 当 执 行 s h e l l 脚 本 第 n...当 n 0 时表示脚本文件名,如果n 大于9,则 n获取当前执行shell脚本第n个参数值,n=1..9,当n0时表示脚本文件名,如果n大于9,则{10} $# 获取当前 shell 脚本命令行中参数总个数

    1.4K10

    shell编程基础入门

    \n换行\r回车\t水平制表符(tab键) \v垂直制表符 可以使用 echo 命令 -E 选项禁止转义,默认也是不转义使用 -n 选项可以禁止插入换行符。...@或者* 获取数组长度 获取数组元素个数 Length=${#arrar_name[@]} 获取单个元素长度 Lengthn=${$arrar_name[n]} shell printf命令:格式化输出语句...commandN done 列表是一组值(数字、字符串等)组成序列,每个值通过空格分隔。每循环一次,就将列表中下一个值赋给变量。...in 列表是可选,如果不用它,for 循环使用命令位置参数。.../root/.bash_profile /root/.bashrc Shell while循环 while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常测试条件。

    1.3K40

    五十五、Linux磁盘管理和Shell编程(下篇)

    列出文件系统磁盘使用状况 磁盘分区表操作 磁盘分区工具 格式化文件系统 文件系统检查 转换或拷贝文件 挂载/卸载 创建/激活/关闭交换分区 新建Shell脚本 变量 预定义变量 语句 if for 循环...打印 test 求和 创建文件夹和文件 磁盘管理 Linux磁盘管理常用三个命令df、du和fdisk。...列出文件系统磁盘使用状况 列出文件系统磁盘使用状况 - df。...预定义变量 预定义变量常用来获取命令输入,有下面这些: $0 :脚本文件名 $1-9 :第 1-9 个命令行参数名 $# :命令行参数个数 $@ :所有命令行参数 $* :所有命令行参数 $?...:一个命令退出状态,可用于获取函数返回值 $$ :执行进程 ID 一个例子: #!

    83920

    shell脚本实例

    . $ /等 使用grep从一个模式匹配中返回末尾行: 和正则表达式一起运行grep可以很容易从标识文件或者输出获取某些行. # cat /etc/passwd | awk '$1 ~ /^daemon...,却无法查看子目录里面的文件个数,使用find命令查看处理大批量文件 find方式是最快;其次是echo *;ls命令比较费时间 /proc报告    /proc文件系统,它为当前运行系统提供了虚拟视图...fold -w 3 hello  补充:fold指令会从指定文件里读取内容,将超过限定列宽列加入增加字符列后,输出到标准输出设备,若不指定任何文件名,或是给予文件名为-,则fold指令会从标准输入设备读取数据...tr命令:字符翻译设备,主要用于大小写转换。...join hello hello1         将两个文件中相同部分文字结合起来输出到终端 shell脚本实际说来就是用于系统管理和文件操作用,能够方便自如处理大量重复性工作。

    3.2K60

    Shell 学习

    /bin/bash # author:lizhen echo "Shell 传递参数"; echo "执行文件名:$0"; echo "第一个参数:$1"; echo "第二个参数:$2"; echo...test 命令 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。...如果文件存在且至少有一个字符则为真 # -d 文件名 如果文件存在且为目录则为真 # -f 文件名 如果文件存在且为普通文件则为真 # -c 文件名 如果文件存在且为字符型特殊文件则为真 # -b...注意:所有函数在使用必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。...但是 /dev/null 文件非常有用,将命令输出重定向到它,会起到"禁止输出"效果。

    38920

    linux学习-bash shell 编程

    以及后面字符串信息确定文件类型(man magic 命令 以及 /usr/share/magic 了解更多) /bin/bash 表明文件是一个bash程序,需要/bin下bash程序解释执行,使用locate...Shell编程中,使用变量无需事先声明,同时变量名命名须遵循如下规则 首个字符必须字母(a-z,A-Z) 或者_ 中间不能有空格,可以使用下划线(_) 不能使用其他标点符号 需要给变量赋值时,写成变量名...Esc下方`,而不是单引号' let表示数学运算,expr用于整数值运算,每一项用空格隔开,$[]将中括号内表达式作为数学运算先计算结果再输出。...只要测试表达式条件真,则while循环将一直运行。...调试 sh [-nvx] scripts.sh -n :不要执行 script,仅查询语法问题; -v :再执行 sccript ,先将 scripts 内容输出到屏幕上; -x :将使用

    3.8K50

    【知识总结】Shell脚本编程入门

    n 代表一个数字,1 执行脚本第一个参数,2 执行脚本第二个参数,以此类推…… 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 执行文件名(包含文件路径): #!...命令可为任何有效 shell 命令和语句。in 列表可以包含替换、字符串和文件名。 in列表是可选,如果不用它,for循环使用命令位置参数。...2.9 Linux let 命令 命令:let let 命令BASH用于计算工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。...后台运行最后一个进程ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令退出状态。...重定向深入讲解 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件: 标准输入文件(stdin):stdin文件描述符0,Unix程序默认从stdin读取数据。

    4K20

    Linux Shell基础篇二 - 变量

    $* 与 $@ 获取所有输入参数数据区别: 如果不使用双引号, 功能一样, 获取所有参数数据个字符串, 如果使用了双引号, $@获取就是参数列表对象, 每个参数都是一个独立字符串。...$0 用于获取当前脚本文件名 1~9, 代表获取第一输入参数到第9个输入参数 第10个以上输入参数获取参数格式: ${数字},否则无法获取 #获取所有输入参数个数(脚本文件本身并不计算再内...区别: 不使用双引号括起来, 功能一样 *和@获取所有输入参数,格式: 1 2 … 使用双引号括起来 “*“获取所有参数拼接个字符串, 格式: “1 2 … n” “@“获取一组参数列表对象...:${#}"# 增加命令: 实现直接输出所有输入后参数echo '使用$*直接输出:'$*echo '使用$@直接输出:'$@# 增加命令: 使用循环打印输出所有输入参数echo '循环遍历输出$*所有参数...用于获取上一个Shell命令退出状态码, 或者是函数返回值,每个Shell命令执行都有一个返回值, 这个返回值用于说明命令执行是否成功,一般来说, 返回0代表命令执行成功, 非0代表执行失败。

    2.8K51

    ❤️肝下25万字《决战Linux到精通》笔记,你Linux水平将从入门到入魔❤️【建议收藏】

    代表文件名中任意一个字符 ls ?.c 只找第一个字符任意,后缀.c文件 ls a.? 只找只有3个字符2字符a....df:列出文件系统整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分区 ---- df 获取硬盘被占用了多少空间,目前还剩下多少空间等信息。...中,查找文件名为*.xxx文件,并删除4天文件。...执行文件名:test.sh 第一个参数:1 第二个参数:2 第三个参数:3 参数获取: 参数处理 说明 $# 传递到脚本参数个数 $* 传递参数作为一个字符串显示 $$ 脚本运行的当前进程ID.../bin/bash int=1 while(( $int<=5 )) do echo $int let "int++" done 运行脚本,输出: 1 2 3 4 5 while循环用于读取键盘信息

    2.2K10

    Shell 运算符及语法结构

    /bin/bash case 1 in "8")     echo 1 ;; "888")     echo 3.3 for 流程语法 循环语句用于重复执行某个操作 for语句就是循环命令,可以指定循环起点... date +%s 当我们需要打印写一些系统日志信息文件时候,文件命名规则通常在最后会添加上时间戳  温馨提示 这里我们使用系统命令(或者系统函数) date +%s 要进行命令替 换.../bin/bash filename=" 其实我们可以把所有的系统命令当成是系统函数来调用 basename 函数 basename 作用是获取文件名称,它会删除所有的前缀包括最后一个"/"字符...中suffix去掉,如下: 感觉这个函数其实就是获取文件名 现在我们回忆一下之前讲解特殊变量 n ,其中 0 是获取当前名字,但是带有路径,我们只希望获取名字,所以可以通过 basename...去掉路径,甚至去掉后缀 看上图,就是可以成功获取文件名字并且去除指定后缀 dirname函数 dirname 获取文件路径绝对路径,从给定包含绝对路径文件名中去除文件名,然后返回剩余路径

    58530

    _Shell 运算符及语法结构

    /bin/bash case 1in"8")echo1;;"888")echo 3.3 for 流程语法循环语句用于重复执行某个操作for语句就是循环命令,可以指定循环起点、终点和终止条件不过for语句有两种不同写法... date +%s 当我们需要打印写一些系统日志信息文件时候,文件命名规则通常在最后会添加上时间戳  温馨提示 这里我们使用系统命令(或者系统函数) date +%s 要进行命令替 换,.../bin/bash filename="其实我们可以把所有的系统命令当成是系统函数来调用basename 函数 basename 作用是获取文件名称,它会删除所有的前缀包括最后一个"/"字符,然后将字符串显示出来语法如下...感觉这个函数其实就是获取文件名 现在我们回忆一下之前讲解特殊变量 n,其中0 是获取当前名字,但是带有路径,我们只希望获取名字,所以可以通过 basename 去掉路径,甚至去掉后缀看上图,就是可以成功获取文件名字并且去除指定后缀...dirname函数 dirname 获取文件路径绝对路径,从给定包含绝对路径文件名中去除文件名,然后返回剩余路径 从上面这个图我们可以看得出这个函数注意就是将最后一个"/"及其后面的内容去掉,

    18710

    文本三剑客

    说白了一般只用于文件名匹配,它是由shell解析 ,比如 find,ls,cp,mv等 shell常见通配符 *:匹配0或多个字符 ?...‐ok COMMAND {}\:对查找到每个文件执行由COMMAND指定命令 对于每个文件执行命令之前,都会交换式要求用户确认 ‐exec COMMAND {} \:对查找到每个文件执行由COMMAND...指定命令 [root@server1 ~]# find /etc/init.d/ -perm -111 -exec cp -r {} dir1/ \; {}:用于引用查找到文件名称自身 注意:find...-c:--count 只打印每个文件匹配行数 -B:--before--context=NUM 打印匹配几行 -A:--after--context=NUM 打印匹配后几行 -C:--context...搜索/etc/passwd,找到root对应行,执行后面花括号中一组命令每个命令之间用分号分隔,这里 把bash替换为blueshell,再输出这行 [root@localhost ~]# nl

    2.4K10

    Linux

    文件开头需要写#! /bin/bash,指明bash脚本解释器。 ---- 学习技巧 不要死记硬背,遇到含糊不清地方,可以在AC Terminal里实际运行一遍。...,如上例中值"$1 $2 $3 $4" $@ 每个参数分别用双引号括起来字符串,如上例中值"$1" "$2" "$3" "$4" $$$$ 脚本当前运行进程ID $?...expr命令用于求表达式值,格式: expr 表达式 表达式说明: 用空格隔开每一项 用反斜杠放在shell特定字符前面(发现表达式运行错误时,可以试试转义) 对包含空格和其他特殊字符字符串要用引号括起来...,每个元素一行: for i in a 2 cc do echo $i done 示例2,输出当前路径下所有文件名每个文件名一行: for file in `ls` do echo...# 传入参数个数不是1,则非正常退出,exit code1 1 文件重定向 每个进程默认打开3个文件描述符: stdin标准输入,从命令行读取数据,文件描述符0 stdout标准输出,向命令输出数据

    2.6K20

    shell学习教程(超详细完整)

    /bin/bash [指定告知系统当前这个脚本要使用shell解释器] Shell相关指令 文件命名规范: 文件名.sh .sh是linux下bash shell 默认后缀 Bash 常用快捷键...“标识符”分解符为止 输入输出重定向(同时使用命令文件2 命令文件1内容作为标准输入,把文件2作为标准输出。...$() 和反引号作用一样,用来引用系统命令。(推荐使用) () 用于一串命令执行时,()中命令会在子Shell中运行 {} 用于一串命令执行时,{ }中命令会在当前Shell中执行。...$(cat ls.log) ` #或者这样写for i in `cat ls.log` #读取ls.log文件内容,文件中有多少个值,就会循环多少次,每次循环文件名赋予变量i do tar...n"}’ student.txt #awk命令只要检测不到完整单引号不会执行,所以这个命令换行不用加入“|”,就是一行命令 #这里定义了两个动作 #第一个动作使用BEGIN条件,所以会在读入文件数据打印

    6.2K21

    Linux下常用shell脚本整理

    行数、字数、字节数、文件名 如果命令行中没有文件名,则输出中不出现文件名。...b.使用bc命令   Shell代码   1.   2. #!/bin/bash   3. ##示例1:输出 1+2 运算结果   4. echo 1+2 |bc   5.   6....并发送短信和邮件报告~   -t1 表示只请求一次   -T2 表示2秒超时 26、linux查找文件一些方法   1) 按文件名查找   #在/opt目录及其子目录下查找包含文件名是以zhjedu...代码   1. ls | xargs -n 20 rm -rf   ls当然是输出所有的文件名(用空格分割)   xargs就是将ls输出,每20个一组(以空格分隔符),作为rm -rf参数   ...也就是说将所有文件名20个一组,由rm -rf删除,这样就不会超过命令长度了   31、for循环总结   a. for((i=1;i<=10;i++));do echo $(expr $i \*

    4.1K40

    Linux Shell基础篇三 - 内置命令

    内置命令 Shell 内置命令,就是由 Bash Shell 自身提供命令,而不是文件系统中可执行脚本文件。...可使用type来确定一个命令是否是内置命令或可执行文件: 1 type [-tpa] 命令名 参数 说明 无参数 显示出命令名是外部指令还是 bash 内建指令 -t 会将命令名以底下这些字眼显示出他意义...:file :表示外部可执行文件; alias :表示该指令命令别名所设定名称; builtin :表示该指令 bash 内建指令功能; -p 如果后面接可执行文件外部指令时,会显示出完整文件名...转义符 说明 \a 发出警告声 \b 删除个字符 \c 最后不加上换行符号,用于强制清除echo结尾换行输出 \f 换行但光标仍旧停留在原来位置 \n 换行且光标移至行首; \r 光标移至行首...-u fd 使用文件描述符 fd 作为输入源,而不是标准输入,类似于重定向。 exit退出 exit用于退出当前Shell环境进程结束运行,并且可以返回一个状态码。一般使用 $?

    1.4K30
    领券