1.Shell判断文件是否存在
#!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath" ]; then mkdir "$myPath" fi # 这里的-d 参数判断$myPath是否存在 if [ ! -d "$myPath" ]; then mkdir "$myPath" fi # 这里的-f参数判断$myFile是否存在 if [ ! -f "$myFile" ]; then touch "$myFile" fi # 其他参数还有-n,-n是判断一个变量是否是否有值 if [ ! -n "$myVar" ]; then echo "$myVar is empty" exit 0 fi # 两个变量判断是否相等 if [ "$var1" = "$var2" ]; then echo '$var1 eq $var2' else echo '$var1 not eq $var2' fi -f 和-e的区别 Conditional Logic on Files -a file exists. -b file exists and is a block special file. -c file exists and is a character special file. -d file exists and is a directory. -e file exists (just the same as -a). -f file exists and is a regular file. -g file exists and has its setgid(2) bit set. -G file exists and has the same group ID as this process. -k file exists and has its sticky bit set. -L file exists and is a symbolic link. -n string length is not zero. -o Named option is set on. -O file exists and is owned by the user ID of this process. -p file exists and is a first in, first out (FIFO) special file or named pipe. -r file exists and is readable by the current process. -s file exists and has a size greater than zero. -S file exists and is a socket. -t file descriptor number fildes is open and associated with a terminal device. -u file exists and has its setuid(2) bit set. -w file exists and is writable by the current process. -x file exists and is executable by the current process. -z string length is zero. 是用 -s 还是用 -f 这个区别是很大的!
2.Shell算术运算
$[1+2] #value:3
`expr 1 + 2` #value:3
$((1 + 2)) #value:3
3.遍历文件的每行数据
while read lines
do
echo $lines
done<filename#filename为文件名
4.提取行数据
awk语法:awk /pattern/{action} filename
awk简单用法
获取文件第一,列的数据:
awk '{print $1}' filename
5.显示日期格式为yyyyMMdd
date +%Y%m%d
6.Map通过key值排序的简单小例子
HashMap<String, String> map = new HashMap<String, String>(); map.put("2012-07-04", "2012-07-04"); map.put("2012-07-03", "2012-07-03"); map.put("2012-07-07", "2012-07-07"); map.put("2012-07-01", "2012-07-01"); Object[] key = map.keySet().toArray(); Arrays.sort(key); for (int i = 0; i < key.length; i++) { System.out.println(map.get(key[i])); }
相关推荐
shell编程技巧点滴(基础篇) shell 脚本修改crontab实例 如何删除大量文件 如何删除某个月份的文件 find的日常用法举例 find的日常用法帮助 如何批量改名 bc指令的基本用法 检查服务器的连接状况的shell find 和 exec...
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这...另一方面也可以帮助用户组织文件,并为用户提供安全性保护。... ... · 用户口令的管理。...
文档"QTP知识点滴积累.doc"中包含了关于HP QuickTest Professional (QTP)的一些关键知识点。QTP是一款功能强大的自动化测试工具,主要用于软件测试中的功能自动化。以下是对这些知识点的详细解释: 1. DOS命令执行...
在IT领域,尤其是Unix/Linux系统中,"dotfiles"是一个非常重要的概念,它与Shell紧密相关。"dotfiles"指的是用户主目录下以点(.)开头的隐藏配置文件,这些文件用来定制用户的环境,包括命令行提示符、编辑器设置、...
描述中的 "学习笔记,记录点滴新的" 强调了这是一系列不断积累和更新的知识点集合,主要关注的是过程和新知识的获取。 在标签中提到了 "Shell",这意味着这份资料很可能与Linux或Unix系统的Shell脚本编程有关。...
│ Neo4j入门点滴(五):Windows Shell for Cypher.html │ Neo4j入门点滴(四):Cypher查询优化.html │ Neo4J几种数据导入方式的效率对比 - 何源浩的博客 - CSDN博客.html │ Neo4j模糊查询及分页查询 - c...
[不推荐使用]点点滴滴 注意:我的点文件现在在下管理 我最初基于修改了自己的点文件的版本,但后来慢慢对其进行了更新,使其更类似于和所构建/修改的文件。 看看他们的东西,或其他许多。 拥有自己的 ...
从描述中的“每天成长一点点”可以看出,这个博客可能包含了作者在 IT 领域持续学习的点滴记录。 VuePress 的核心特点包括: 1. **Vue 驱动**:VuePress 使用 Vue.js 进行页面渲染,因此开发者可以利用 Vue 的组件...
【start-today-开源】项目是一个基于shell脚本的开源日记系统,专为那些希望从今天开始简单记录生活点滴的人设计。这个系统充分利用了Linux或Unix shell的强大功能,提供了一个轻量级、易于上手的日记管理解决方案。...
同时,也会介绍一些较为常用的单元类型及其关键选项的含义,比如3DSolid、2DSolid、Isobeam与Beam的选择,Shell与plate的选择等,并演示如何控制网格密度。 材料模式部分,将介绍材料属性、使用的应力应变量度,...
**功能描述**:Spb Diary 2.02是一款日记应用,支持用户记录日常生活中的点滴。 **注册码**:20051978 93476932 75349409 93476932 ### Spb Finance **功能描述**:Spb Finance是一款财务管理软件,帮助用户管理...
点滴 一次保存您的点文件,将其部署到任何地方使不同主机之间的点文件管理变得容易。 它允许将您的dotfile存储在git上,并在不同的设置上自动部署同一文件的不同版本。 它还允许管理不同的点文件集。 例如,您可以为...
家heroImage actionText 动作链接产品特点页脚真正./hero.jpeg 开始→ /算法/ 标题细节算法个人算法学习笔记,包括常用算法模板,分析,竞赛答案等标题细节前端前置学习笔记标题细节随笔记录生活的点滴版权所有:...
- **Shell**作为DOS的外壳,负责解释用户的命令,并将其转换为操作系统能识别的指令。 - **IO接口**实现了基于int21h的中断处理机制,用于处理输入输出操作。 - **流行版本**: - **MS-DOS**:由微软开发,是...