Chinaunix

标题: 列字符替换:"2007-10-01"to"2007Y10M01" [打印本页]

作者: ablya    时间: 2007-09-24 23:10
标题: 列字符替换:"2007-10-01"to"2007Y10M01"
请求帮助:

请将下列文本文件中的列字符按格式进行替换处理,谢谢.

列字符替换格式 例:"2007-10-01" to "2007Y10M01"
就是将字符中第一个"-"替换成"Y",第二个"-"替换成"M",然后格式化输出,呵呵.谢谢.
方法不限,最好用shell,谢谢.

publishdate="2007-01-30"
publishdate="2007-01-29"
publishdate="2006-11-30"
publishdate="2006-10-24"
publishdate="2006-10-24"
publishdate="2005-11-29"
publishdate="2005-09-02"
publishdate="2005-06-27"
publishdate="2005-05-24"
publishdate="2004-09-16"
publishdate="2003-11-17"
作者: 寂寞烈火    时间: 2007-09-24 23:17
sed 's/-/Y/1;s/-/M/'
作者: __lxmxn__    时间: 2007-09-25 00:57
  1. sed 's/-\(..\)-/Y\1M/' Urfile
复制代码

作者: springwind426    时间: 2007-09-25 08:05
  1. awk -F- '{ print $1"Y"$2"M"$3 }'
复制代码


下面来个纯shell的
  1. #!/bin/bash
  2. IFS=-
  3. while read var1 var2 var3
  4. do
  5.   echo ${var1}Y${var2}M${var3}
  6. done
复制代码

作者: ablya    时间: 2007-09-25 08:30
谢谢各位.呵呵.
作者: shk2016    时间: 2007-09-25 10:23
学习




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2