开发者

want to read file line by line and then want to cut the line on delimiter

cat $INPUT_FILE| while re开发者_JS百科ad LINE
do
abc=cut -d ',' -f 4 $LINE


Perl:

cat $INPUT_FILE | perl -ne '{my @fields = split /,/; print $fields[3];}'


The key is to use command substitution if you want the output of a command saved in a variable.

POSIX shell (sh):

while read -r LINE
do
    abc=$(cut -d ',' -f 4 "$LINE")
done < "$INPUT_FILE"

If you're using a legacy Bourne shell, use backticks instead of the preferred $():

    abc=`cut -d ',' -f 4 "$LINE"`

In some shells, you may not need to use an external utility.

Bash, ksh, zsh:

while read -r LINE
do
    IFS=, read -r f1 f2 f3 abc remainder <<< "$LINE"
done < "$INPUT_FILE"

or

while read -r LINE
do
    IFS=, read -r -a array <<< "$LINE"
    abc=${array[3]}
done < "$INPUT_FILE"

or

saveIFS=$IFS
while read -r LINE
do
    IFS=,
    array=($LINE)
    IFS=$saveIFS
    abc=${array[3]}
done < "$INPUT_FILE"


Bash:

while read line ; do
    cut -d, -f4 <<<"$line"
done < $INPUT_FILE


Straight Perl:

open (INPUT_FILE, "<$INPUT_FILE") or die ("Could not open $INPUT_FILE");
while (<INPUT_FILE>) {
    @fields = split(/,/, $_);
    $use_this_field_value = $fields[3];
    # do something with field value here
}
close (INPUT_FILE);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜