
echo "aaabbb ccc ddd" | sed -e 's/\(.\{3\}\)/\1|/g' -e 's/ //g' -e 's/||/| |/g' -e 's/|$//'这个需要更改 shell分隔符为换行在for
循环之前修改IFS变量IFS=$'\n' OLDIFS="$IFS"for i in `find . `doecho "$i"doneIFS="$OLDIFS"这样循环就会以换行作为单词分界.你的
文件名如果出现换行,那就无能为力。虽然linux 支持文件名包含特殊字符但并不推荐,会导致别的脚本出错误。通常用下划线或短线代替
空格。还有一种用find some|while read idoecho "$i"done用read i,每个循环读取一行,等价与用换行作为分隔符。记得采纳把A 文件的第一列剪切出来做为B文件的第一列,很简单:awk '{print $1}' A | paste - B 其中,- 表示从标准输入读。 默认分隔符为tab,可以使用-d选项修改为任意分隔符(比如空格):awk '{print $1}' A | paste -d' ' file1 file2
评论列表(0条)