读书人

cat和echo疑问解决方案

发布时间: 2013-01-26 13:47:03 作者: rapoo

cat和echo疑问
写了个小脚本如下:


#!/bin/bash

phrase_file=/home/hadoop/phrases.txt

for content in `cat ${phrase_file}`
do
phrase=`cat ${content}| awk 'BEGIN{FS=";"}{print $1}'`
done

phrases.txt文件格式如下:
A previous rep told me;1280

照理说代码是ok的,但调试结果是这样:
+ for content in '`cat ${phrase_file}`'
++ cat A
++ awk 'BEGIN{FS=";"}{print $2}'

我估计红色粗体地方的问题,我试图用phrase=`echo ${content} | awk 'BEGIN{FS=";"}{print $1}'`来解决,结果不行.phrase=`> ${content} | awk 'BEGIN{FS=";"}{print $1}'`也不行,请问是怎么回事呢?
[解决办法]
哪里有echo的事情
[解决办法]
cat是打印文件,你cat $content是干嘛?

用echo
[解决办法]
引用:
把for content in `cat ${phrase_file}`改为 `cat ${phrase_file}`
[解决办法]
while read content就解决了,不过这两者有什么区别呢?

一个是按空格分割,一个是按行分割。

读书人网 >UNIXLINUX

热点推荐