テキスト ファイルから行を読み取り、変数に保存したいと考えています。
cat ${1} | while read name; do
namelist=${name_list},${name}
done
ファイルは次のようになります。
David
Kevin
Steve
etc.
代わりにこの出力を取得したい
デビッド、ケビン、スティーブなど
それを変数 ${name_list} に保存します
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
column
、およびsed
:
namelist=$(column input | sed 's/\t/,/g')
variable=`perl -lne 'next if(/^\s*$/);if($a){$a.=",$_"}else{$a=$_};END{print $a}' your_file`