3

テキスト ファイルから行を読み取り、変数に保存したいと考えています。

  cat ${1} | while read name; do

  namelist=${name_list},${name}

  done

ファイルは次のようになります。

David

Kevin

Steve
etc.

代わりにこの出力を取得したい

デビッド、ケビン、スティーブなど

それを変数 ${name_list} に保存します

4

4 に答える 4

2
name_list=""
for name in `cat file.txt`
   do VAR="$name_list,$i"
done

編集: このスクリプトは、name_list の先頭に「,」を残します。これを修正するにはいくつかの方法があります。たとえば、bash では次のように動作します。

name_list=""
for name in `cat file.txt`; do
   if [[ -z $name_list ]]; then
      name_list="$i"
   else
      name_list="$name_list,$i"
   fi  
done

再編集: Fredrik の正当な苦情のおかげで:

name_list=""
while read name
do 
  if [[ -z $name_list ]]; then
      name_list="$name"
   else
      name_list="$name_list,$name"
   fi
done < file.txt
于 2013-04-21T21:00:28.983 に答える
1

column、およびsed:

namelist=$(column input | sed 's/\t/,/g')
于 2013-04-22T06:48:20.377 に答える
0
variable=`perl -lne 'next if(/^\s*$/);if($a){$a.=",$_"}else{$a=$_};END{print $a}' your_file`
于 2013-04-22T05:31:34.023 に答える