用awk替换文件指定位(如第7位)
用awk替换文件指定列(如第3列)
[@more@]用SHELL替换文件指定位数字符(把第7位替换):
123456789 -> 123456X89
awk '{print substr($0,1,6)"X"substr($0,8,80)}' filename
用awk替换文件指定列(如第3列):
position=3
new_value=newvalue
line=ddd sss ggg www
echo "${line}" | awk '{$'$position'='$new_value'; print}'
To determine if the string is number type:
set number_ind=`echo $2|sed 's/[0-9]//g'`
if ( $number_ind == '' ) then
set file_type="DELIMITER" #Try to convert delimiter file
else
set file_type="XML" #Try to convert xml file
set tag_name=$2 #the tag name we want to convert in XML
endif
Populate XML to get the value between tag:
echo "
99999
Go through file:
set n=`wc -l <$file`
set i=1
while ($i <= $n)
set line="`awk '{if (NR == $i) print}' $file_tmp`"
echo "${line}"
end