扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你的格式是不是这样?
成都创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业成都服务器托管报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
1253194494 (今天的Unix 时间格式)
用 gawk ( Gnu 版 awk, mawk, nawk 没有这功能)
nc10@your-5554c55be4 ~
$ gawk 'BEGIN{x=strftime("%a %b %d %T CST %Y", "1253194494");print x}'
Thu Sep 17 21:34:54 CST 2009
Unix 时间格式用gawk 内置函数取得
nc10@your-5554c55be4 ~
$ gawk 'BEGIN{x=systime();print x}'
1253194803
nc10@your-5554c55be4 ~
$ gawk 'BEGIN{x=strftime("%a %b %d %T CST %Y", systime());print x}'
Thu Sep 17 21:40:15 CST 2009
nc10@your-5554c55be4 ~
$
或者用 Perl
产生Unix 时间格式
nc10@your-5554c55be4 ~
$ perl -e '$x=time(); print "$x\n"'
1253195055
改成你的格式, 用 POSIX 模组 strftime
nc10@your-5554c55be4 ~
$ perl -MPOSIX -e '$x=1253195055; @y=strftime("%a %b %d %T CST %Y", localtime($x)); print "@y\n"'
Thu Sep 17 21:44:15 CST 2009
也可直接把现在的 Unix 时间格式即时改为可读的格式
nc10@your-5554c55be4 ~
$ perl -MPOSIX -e '$x=1253195055; @y=strftime("%a %b %d %T CST %Y", localtime(time())); print "@y\n"'
Thu Sep 17 21:51:30 CST 2009
nc10@your-5554c55be4 ~
$
这样对你有帮助吗? 呵呵
昨天在 cygwin 试不到 %Z, 今天在Linux ok
user@minix-nb:~$ gawk 'BEGIN{x=strftime("%A %b %d %T %Z %Y", systime()); print x}'
星期五 9月 18 17:08:12 HKT 2009
user@minix-nb:~$
user@minix-nb:~$ gawk 'BEGIN{x=strftime("%A %b %d %T %Z %Y", systime()); print x}'
星期五 9月 18 17:09:52 HKT 2009
user@minix-nb:~$ perl -MPOSIX -e '$x=strftime("%A %b %d %T %Z %Y", localtime(time())); print "$x\n"'
星期五 9月 18 17:09:58 HKT 2009
user@minix-nb:~$ perl -MPOSIX -e '$x=strftime("%a %b %d %T %Z %Y", localtime(time())); print "$x\n"'
五 9月 18 17:10:11 HKT 2009
user@minix-nb:~$ gawk 'BEGIN{x=strftime("%a %b %d %T %Z %Y", systime()); print x}'
因为 locale 是 zh_HK.utf-8, 所以出中文, 要改变
$LANG 就可
eg
#! /bin/bash
oLC_ALL=$LC_ALL
LC_ALL=C
export LC_ALL
gawk 'BEGIN{
x = strftime("%a %b %d %T %Z %Y", systime())
print x
}'
unset LC_ALL
LC_ALL=$oLC_ALL
user@minix-nb:~$ chmod +x locale.test
user@minix-nb:~$ ./locale.test
Fri Sep 18 17:17:48 HKT 2009
user@minix-nb:~$
呵呵
估计是你不小心输入了搜索 a
你随便打开一个vim 按下Esc切换到命令模式 随便输入斜杠跟一串字符(例如 /dfhjdf) 按下回车 会提示找不到。。。。 再看下a是不是恢复了
一,使用SSH2协议
如果要用SSH2协议,需要修改一下 /etc/ssh/ssh_config 文件,把#Protocol 2,1 这一行前面的#字符去掉,默认也是先是ssh2,
再是ssh1,实际上不除去#注释也是可以的。
用puttygen.exe生成SSH2协议格式的密匙(操作方法同上),上传到.ssh/authorized_keys文件时,需作如下修改,
因为puttygen.exe和bsd/Linux生成的SSH2密匙格式不一样。
例如puttygen.exe生成的公匙是id_rsa2.pub
[root@mail .ssh]# cat id_rsa2.pub
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20050328"
AAAAB3NzaC1yc2EAAAABJQAAAIEAtZgDykOOegKu6sCGzxpzA2CwB5o2X37FM4lg
41LXw3DR2/7+aBQNYDez3BWkGIluyfuyWYlw21bEzUiJhJ9/8tX5FUJLBYr/ELtq
jI08dfhHaRjVM8cRQX7fv6jCNIuyEKlml9QuFdIOIX3bS5dkAHkk9GKMgaMISK44
zB4qUfM=
---- END SSH2 PUBLIC KEY ----
而BSD/Linux生成的ssh2格式是
[root@linuxwht .ssh]# cat id_rsa.pub
ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAIEAsD4qEibcK1e9ZgFX6bahxnU/It5MjC/7U56n
OOZ0MDf+LHU7bWo3M6XH/mp1KeTRrHIPtmEl2PTkf9/3NffNtBdAkSJ/sWoPoaeJlShcvK2
wzOsrre4FyJRRUtl2jdCDJxRX0Cu2GV/aNphVQoAuU0lj7/55eladpO8/jr14adE=
所以照着Linux默认的格式改一下就可以了。
如果没有 puttygen.exe,那么可以用 bsd/linux 自带的 ssh-keygen 生成密匙,命令格式如下:
ssh-keygen -b 密匙长度 -t 密匙类型
密匙类型可以是:rsa1 (对应SSH1 RSA)、rsa 和 dsa (对应SSH2)
如:ssh-keygen –b 1024 –t rsa
默认是生成的~/.ssh/id_rsa文件。
不过 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,无法直接使用,必须用 puttygen.exe 转换一下。
所以大家还是用 rsa1 好了,反正一般用途也没什么区别。
用cut最简便(参见 小米肥猫 的回答)。
另外,Bash中特有的字符串处理方法(掐头去尾法)也比较常用(参见下面的链接)。
对于这道题来说:
var=“dfhjk_fewskdfakhi=vshbjy_dfbrfdgrrewrt"
tmp=${var#*} #掐头,最小匹配(去除从前往后第一个及前面的所有字符)
echo ${tmp%%*} #去尾,最大匹配(去除从后往前最后一个及后面的所有字符)
助记口诀:
# 表示掐头, 因为键盘上 # 在 $ 的左面。
% 表示去尾, 因为键盘上 % 在 $ 的右面。
单个#或%的表示最小匹配,双个#或%表示最大匹配(即,当有多种匹配方案的时候,选择匹配的最大长度还是最小长度)。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流