Shell中判断字符串是否为数字的6种方法分享

   2015-06-28 0
核心提示:这篇文章主要介绍了Shell中判断字符串是否为数字的6种方法分享,本文直接给出实现代码,需要的朋友可以参考下

本篇文章主要介绍了"shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下。

#!/bin/bash  
   
## 方法1
a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers
  第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。
   sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的表达式所匹配的行,这是通过表达式中加入“p”命令来实现的。
  /^[0-9][0-9]*$/他的含义是匹配至少由一位数字构成的行
   
## 方法2, 可以,不过不是bash实现的,是使用了grep的正则 
#if grep '^[[:digit:]]*$' <<< "$1";then 
#  echo "$1 is number." 
#else 
#  echo 'no.' 
#fi 
   
## 方法3 
#if [ "$1" -gt 0 ] 2>/dev/null ;then 
#  echo "$1 is number." 
#else 
#  echo 'no.' 
#fi 
   
## 方法4,case 
#case "$1" in 
#  [1-9][0-9]*)  
#    echo "$1 is number." 
#    ;; 
#  *)  
#    ;; 
#esac 
   
## 方法5,awk 
#echo $1| awk '{print($0~/^[-]([0-9])+[.]([0-9])+$/)"number":"string"}' 
   
## 方法5,awk 
#if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then 
#  echo "$1 is number." 
#else 
#  echo 'no.' 
#fi 
   
 ## 方法6,expr 
expr $1 "+" 10 &> /dev/null 
if [ $ -eq 0 ];then 
  echo "$1 is number" 
else 
  echo "$1 not number" 
fi 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • PHP安全之webshell和后门检测
    PHP安全之webshell和后门检测
    基于PHP的应用面临着各种各样的攻击:XSS:对PHP的Web应用而言,跨站脚本是一个易受攻击的点。攻击者可以利用它盗取用户信息。你可以配置Apache,或是写更安全的PHP代码(验证所有用户输入)来防范XSS攻击SQL注入:这是PHP应用中,数据库层的易受攻击点。防范
    02-09
  • 【译】使用 Rust 构建你自己的 Shell
    Build Your Own Shell using Rust 译文原文地址:https://www.joshmcguigan.com/blog/build-your-own-shell-rust/原文作者:Josh Mcguigan译文出自:https://github.com/suhanyujie/article-transfer-rs本文永久链接: https://github.com/suhanyujie/article
    02-09
  • ShellExecute使用详解(DELPHI版)
    有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。 1.CreateProcess因为使用复杂,比较少用。 2.WinExec主要运行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW); 3.ShellExecute不仅可以运行EXE文件,也可以运行已经关联
    02-09
  • shell perl 等
    tail -f xls2csv.sh |perl -pe 's/(csv)/\e[1;31m$1\e[0m/g'数据替换grep -E '_id|PHONE|PROFILE30|PROFILE31|PROFILE32|PROFILE35'LABEL272_VALUE_labelLABEL272_VALUE_label_2统计bug,并根据计数排序$NF最后一列为创建时间 $NF-1为处理人awk -F ","'/^(1|2|
    02-09
  • perl版 Webshell存活检测
    原理:检测url返回状态即可源码: 1 #!c:\\perl\\bin\\perl.exe 2 use warnings; 3 use strict; 4 use LWP::UserAgent; 5 $| = 1; 6 print "---------------------------------------------------------\n"; 7 print "|Webshell online check v1.0 |\n"; 8 pri
    02-09
  • shell执行lua脚本传参数 shell脚本执行时传入参
    #lua test.lua 2 5arg[0]= test.lua arg[1]= 2arg[2]= 5if arg[1] and arg[1] == "2" then  print("arg[1]=2")end 
    02-09
  • lua调用shell 脚本
    Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出。io.popen()也可以执行dos命令,但是返回一个文件。eg:复制代码 代码如下:local t = io.popen('svn help')local a = t:read("*all")--a返回一个字符串,内容是svn help的内容如果想执
    02-09
  • 脚本语言语言脚本语言:Shell , JavaScript、VBS
    今天一直在研究脚本语言语言之类的问题,上午正好有机会和大家共享一下.     脚本语言:Shell , JavaScript、VBScript、Perl、PHP、Python、Ruby、Lua                  工作控制语言和shell    Shell 脚本    此类脚本用于自动
    02-09
  • VB.net shell、IO.File.Open、Process.Start、S
      打开文件还有很多方法,但我了解到运用较多的是上面几种- -,为了防止以后忘记,先把了解到的写下来。1、Shell  这个看了很多网页,最靠谱的运用方法:Shell("cmd.exe /c "Br_PathLocal) ' 一般用shell调用cmd命令来打开文件但问题是,命令窗口关不了- -
    02-09
  • vb6.0的各种SHELL,CMD内部命令、外部命令、SHEL
    1 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long
    02-09
点击排行