请教一个shell,简单的。

sh/bash/dash/ksh/zsh等Shell脚本
回复
mars00772
帖子: 11
注册时间: 2008-11-14 1:50
送出感谢: 0
接收感谢: 0

请教一个shell,简单的。

#1

帖子 mars00772 » 2010-10-03 17:28

判断一输入参数,判断是否为浮点数(含正负)或者整数(正负),否则提示退出

ps:输入参数123345.234
输出:123,345.234
分开加个逗号。

我用shell。。。。非常难看阿,30多行,请问高手给个短的 用awk或者sed? :em06 :em06 :em06
头像
冲浪板
论坛版主
帖子: 7467
注册时间: 2007-05-06 8:19
送出感谢: 0
接收感谢: 5 次

Re: 请教一个shell,简单的。

#2

帖子 冲浪板 » 2010-10-03 17:35

可以,用"."来区分,就是给awk个参数用"."做分割符号(不改一般是“ ”),然后输出左右两部分

不是你写的多,awk也是写(做)了那么多,仅仅是你调用,所以就用了一行
mars00772
帖子: 11
注册时间: 2008-11-14 1:50
送出感谢: 0
接收感谢: 0

Re: 请教一个shell,简单的。

#3

帖子 mars00772 » 2010-10-03 17:53

:em06 :em06 我没有有awk 阿,我知道awk用来 很方便,但奈何不会写,请教各位
头像
冲浪板
论坛版主
帖子: 7467
注册时间: 2007-05-06 8:19
送出感谢: 0
接收感谢: 5 次

Re: 请教一个shell,简单的。

#4

帖子 冲浪板 » 2010-10-03 18:01

不应该没有的啊,没有就装一个,用法...问问狗
mars00772
帖子: 11
注册时间: 2008-11-14 1:50
送出感谢: 0
接收感谢: 0

Re: 请教一个shell,简单的。

#5

帖子 mars00772 » 2010-10-04 14:03

我意思是我不会用哈,请教高手给个短的 :em06
头像
冲浪板
论坛版主
帖子: 7467
注册时间: 2007-05-06 8:19
送出感谢: 0
接收感谢: 5 次

Re: 请教一个shell,简单的。

#6

帖子 冲浪板 » 2010-10-04 19:47

awk FS="." '{print $1,$2}' dat
类似 :em06
tusooa
帖子: 6546
注册时间: 2008-10-31 22:12
系统: 践兔
送出感谢: 6 次
接收感谢: 10 次
联系:

Re: 请教一个shell,简单的。

#7

帖子 tusooa » 2010-10-09 21:12

代码: 全选

tlcr: 0 庚寅年九月初二日 21:09:46 ~
● perl -M5.010 -e '$_ = $ARGV[0]; 1 while s/^([\-\d]+)(\d{$ARGV[1]})/$1,$2/; say' -- -1234567890.12345 3
-1,234,567,890.12345
tlcr: 0 庚寅年九月初二日 21:09:51 ~
● perl -M5.010 -e '$_ = $ARGV[0]; 1 while s/^([\-\d]+)(\d{$ARGV[1]})/$1,$2/; say' -- 1234567890.12345 3 
1,234,567,890.12345
tlcr: 0 庚寅年九月初二日 21:10:04 ~
● 

代码: 全选

] ls -ld //
头像
astolia
论坛版主
帖子: 3033
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 500 次

Re: 请教一个shell,简单的。

#8

帖子 astolia » 2010-10-09 23:09

代码: 全选

echo 123345.234 | sed -r ':a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta'
zys789741
帖子: 2
注册时间: 2009-11-14 13:55
送出感谢: 0
接收感谢: 0

Re: 请教一个shell,简单的。

#9

帖子 zys789741 » 2010-10-14 0:02

试试cut -d
我瞎说的,没试过
回复

回到 “Shell脚本”