防止foreach分解每一行输出

时间:2018-05-02 18:36:48

标签: shell tcsh

在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 :(得分:0)

为防止每个单词被“标记化”,请用“”

换行

喜欢:

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