From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Injected-Via-Gmane: http://gmane.org/ To: community@lists.altlinux.org From: Grigory Batalov Date: Tue, 6 Feb 2007 21:39:43 +0300 Organization: ALT Linux Team Message-ID: <20070206213943.2b6ddfc8.bga@altlinux.org> References: <45C891B0.8080600@vzljot.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 195.19.240.20 X-Newsreader: Sylpheed version 0.9.10 (GTK+ 1.2.10; i586-alt-linux-gnu) Sender: news Subject: Re: [Comm] How to join lines with separator ? X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.9rc1 Precedence: list Reply-To: ALT Linux Community List-Id: ALT Linux Community List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Feb 2007 18:40:17 -0000 Archived-At: List-Archive: List-Post: On Tue, 06 Feb 2007 17:33:20 +0300, Vitaly Ostanin wrote: > В очередной раз ловлю клин. Скажите, пожалуйста, какое есть > родное средство в UNIX для объединения строк в одну, с > разделением запятыми? > > Пытался делать: > cat file | tr '\n' ',' > пустой вывод. Да и последняя запятая не нужна. > > Можно сделать через > while read s; do echo -n $s; echo -n ',' > , но тоже последняя запятая лишняя, да и коряво как-то. cat file | awk '{ if (list != "") list = list ", " $0; else list = $0 } END { print list }' -- Grigory Batalov, ALT Linux Team