- 论坛徽章:
- 0
|
本帖最后由 w61655 于 2010-09-03 19:57 编辑
想定义一个如下功能的函数:
##############################################################
# Name: GetFieldFromFile
# Description: 从原始文件中提取字段生成新文件
#
# Input: 1.原始文件名;2.提取的字段序号列表(样例:5,20);3.生成的新文件
# Output: 无
# Return: 0 成功 1 失败
##############################################################
函数调用:
GetFieldFromFile “a.unl” "5,20" "b.unl"
读取a.unl文件的第5,第20个字段写入b.unl中
默认两个文件的字段分隔符为"|"
请高手指教下如何写这个函数?- OldFile=$1
- FieldList=$2
- NewFile=$3
-
- awk -v FieldList=$FieldList -v NewFile=$NewFile 'BEGIN {
- FS=OFS="|"
- }
- {
- #这里需要有一块代码将FieldList处理成“$5,$20”这样的字符串,这个地方试了很多方法都不行,要么NewFile中得到的是“$5,$20”,要么是“,0”(不知道是如何得到的)
- print FieldList > NewFile
- }' $OldFile
复制代码 |
|