Предотвращение разбиения foreach каждой строки вывода - PullRequest
0 голосов
/ 02 мая 2018

В TCSH я пытаюсь разбить вывод команды 'ls -alrth' так, чтобы каждая строка была токеном, а не каждым 'разделенным пробелом словом'.

> [myneni@moe test]$ ls
>  total 16K 
>  drwxr-x--- 70 myneni soft  12K May  2
> 11:24 ..
> -rw-r--r--  1 myneni soft    0 May  2 11:25 file1
> -rw-r--r--  1 myneni soft    0 May  2 11:25 file2
> -rw-r--r--  1 myneni soft    0 May  2 11:25 file3 
>  drwxr-xr-x  2 myneni soft 4.0K May  2 11:25 . 
> [myneni@moe test]$ foreach i ( `ls -alrth` )
> foreach? echo $i 
> foreach? end 
 total 
 16K 
 drwxr-x--- 
 70 
 myneni 
 soft 
 12K
> 
 May 
 2 
11:24 
 ..
> 
-rw-r--r-- 
1 
myneni 
soft 
0 
May 
2 
11:25

Вместо этого я хотел бы получить этот вывод:

-rw-r--r--  1 myneni soft    0 May  2 11:25 file1
-rw-r--r--  1 myneni soft    0 May  2 11:25 file2
-rw-r--r--  1 myneni soft    0 May  2 11:25 file3 
drwxr-xr-x  2 myneni soft 4.0K May  2 11:25 . 

Фактическая команда, которую я пытаюсь токенизировать, выводится из команды Perforce, где я могу получить номер списка изменений и строку времени данных, но я подозреваю, что этого достаточно в качестве примера.

Заранее спасибо! -Sachin

1 Ответ

0 голосов
/ 02 мая 2018

Чтобы каждое слово не было "токенизировано", заключите в ""

Как:

foreach i ( "`ls -alrth`" )
echo $i 
end 
...