当前位置:  技术问答>linux和unix

shell中的字符串问题

    来源: 互联网  发布时间:2015-07-13

    本文导语:  问题:想写一个脚本计算系统上一天的时间 比如20040301上一天20040229 假设: -------code------- B230 = "2005" B231 = "02" B232 = "01" if [ "$B231" != "01" ] then    B231 = $B231 - 1    -------------ERROR-----------此处想得到的是01 --...

问题:想写一个脚本计算系统上一天的时间
比如20040301上一天20040229

假设:
-------code-------

B230 = "2005"
B231 = "02"
B232 = "01"

if [ "$B231" != "01" ]
then
   B231 = $B231 - 1    -------------ERROR-----------此处想得到的是01

-------code-------

|
用expr可以做数学运算。
B231 = `expr $B231 - 1`

|
to 楼主:
可以用 n=`expr $n + 1`得到。
我这里有个c程序,作用是检查是否是七天前的数据文本,你可以参考一下。
/*  检查是否是七天前的数据文本
Program Name : chfiledate.c
Usage        : chfiledate.x Arg1 Arg2 Arg3
                 返回值:
                     0:不需要删除; 1:删除
                 命令行参数:  
                     Arg1:数据文本日期
                Arg2:系统日期
                     Arg3:间隔天数
*/
#include 
#include 
#include 
#include 
#include 
char* substr(char*,int,int);
int mod(int,int);
int main(int argc, char* argv[])
{  
   int m_days[]={31,28,31,30,31,30,31,31,30,31,30,31};
   int year,month,day;
   int year1,month1,day1;
   int fate,aaa;
   /*µÃµ½µÚÒ»¸ö²ÎÊýµÄÄêÔÂÈÕ*/
   year=atoi(substr(argv[1],0,4));
   month=atoi(substr(argv[1],4,2));
   day=atoi(substr(argv[1],6,2));
   /*µÃµ½µÚ¶þ¸ö²ÎÊýµÄÄêÔÂÈÕ(×Ô¼ºÈ¡µÄϵͳʱ¼ä)*/
   year1=atoi(substr(argv[2],0,4));
   month1=atoi(substr(argv[2],4,2));
   day1=atoi(substr(argv[2],6,2));
   /*µÃµ½µÚÈý¸ö²ÎÊý(Ò»°ãÊÇ7)*/
   fate=atoi(argv[3]);
   if ((year%4==0)&&!(year%100==0)||(year%400==0))
   {
   m_days[1]=29;
   }
   if (year == year1)
   {
       if (month == month1)
       {
           if ( day1  day)
   {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   else {
   return 0;
   }
   }
       }
   else {
   if ( (month1 - 1) > month )
   {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   else if ( (month1 - 1) == month )
   {
   if ( (m_days[month - 1] - day + day1) > fate )
   {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   else {
   return 0;
   }
   }
   else return 0;
   }
   }
   else {
   if ((year1 - 1) > year)
   {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   else if ((year1 - 1) == year)
   {
   if ((month == 12)&&(month1 == 1))
   {
   if ((m_days[month - 1] - day + day1) > fate )
   {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   else {
   return 0;
   }
   }
   else {
   printf("ÐèҪɾ³ý!");
   return 1;
   }
   }
   else return 0;
   }
}
char* substr(char* str,int is,int il)
{  char* nstr;
   int i,j;
   nstr=(char *)malloc(strlen(str));
   for(i=0,j=0;i=is&&i

    
 
 

您可能感兴趣的文章:

  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • shell程序:在大文件中查找特定字符串,但该字符串可以跨行
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • shell 中如何传字符串参数?
  • shell怎么搜索文件中指定字符串,然后将该字符串后面的数字输出
  • shell函数如何返回字符串
  • shell里按照位置截取字符串变量
  • shell如何取一个字符串中最右边的三个字符?
  • shell如何去掉字符串中的一些字符?
  • 请教一个简单的shell字符串拼接问题
  • shell 字符串赋值
  • shell脚本里面,用什么指令删除字符串中子串
  • 关于使用shell在文件中查找一段字符串的问题
  • shell如何只替换字符串的第一个字符?
  • 问一个简单的shell问题:如何将一个文件中的字符串A全部用另外一个字符串B替换?
  • shell字符串替换,达人进
  • shell中如何进行字符串的运算???
  • 在linux下写一个shell:if(字符串1==“”(空) 或字符串2====“”(空))怎马写啊,急
  • 如何用shell做字符串的替换
  • linux如何向后台终端shell当前光标处送入字符串
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 急问bash shell中替换字符串中某字符为通配符的问题。
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 谁知道Kernel driver怎么发送字符到shell运行吗?
  • linux shell 中# 字符当成注释?
  • 请问在shell如何实现字符串子串运算
  • 请教一个shell中字符和数值的问题。
  • bash shell 如何实现删除文件中的各行字符呢?
  • shell下,如何输出特殊字符?
  • shell中字符串的替换操作
  • shell中如何比较 路径 字符串?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • vim问题,怎么不启动shell窗口,而只是把shell结果放到vim自身的command 栏里去?
  • 刚学Shell编程,问个关于Shell中if语句的问题
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 求助关于Java调用shell再传值给shell的问题
  • 一个奇怪的shell问题
  • 有关裁减内核及shell命令的问题
  • HP机上shell运行问题!写了个环境设定的shell,怎么也运行不了,大家来看看!
  • 子shell路径问题
  • 初学者问题,Unix Shell
  • 求助!!shell调用问题
  • 内核执行shell命令问题
  • 关于shell的问题~~~
  • 关于shell变量传递问题?
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • javascript开源软件 iis7站长之家
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3