1.setenv PATH和set path = (....)
解答:set path仅仅作用于当前的shell,setenv也对子shell起作用。
csh中使用setenv来设置环境变量。ksh中使用export来设置环境变量。
csh:
setenv ENV_NAME ENV_VALUE
ksh
export ENV_NAME=ENV_VALUE
也可以分步:
ENV_NAME=ENV_VALUE
export ENV_NAME
2.awk中输出单引号
echo "a b c" |awk '{print $1 单引号 $2 单引号 $3}'
我要给b加单引号,输出成下面格式:
a 'b' c
解答:
echo "a b c"|awk '{printf("%s %c%s%c %s\n",$1,39,$2,39,$3)}'
3.awk或read找出文件行字符数大于80的行
方法一:使用awk的NR
awk '
{
line_len=length
if (line_len >80)
print NR":"line_len
}' <$1
注:若length函数不加参数,则表示处理当前行
方法二:使用read,循环处理
while read line
do
count=`echo $line|wc -C`
countnum=`expr $count - 1`
if [ $countnum -gt 80 ]; then
echo "$linecount: ($countnum) $line"
fi
done < $1