Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在Solaris中截断尾随字符_Unix_Text_Filter_Extract_Solaris - Fatal编程技术网

Unix 在Solaris中截断尾随字符

Unix 在Solaris中截断尾随字符,unix,text,filter,extract,solaris,Unix,Text,Filter,Extract,Solaris,我在Solaris工作站中有一个文本文件。请参阅以下文件内容示例(条目数量可能有所不同): 我只对第一栏的条目感兴趣。我希望输出为: CMSBC01 CMSBC01_1 CMSBC03 CMSBC03_1 GMSC1 GMSC2 我试过了 awk -F\; '{print $1}' /home/els/axelist.txt 而且: cat axelist.txt | sed 's/ *//' 但仍然无法提取第1列。 欢迎任何帮助 这应该有效: awk '{print

我在Solaris工作站中有一个文本文件。请参阅以下文件内容示例(条目数量可能有所不同):

我只对第一栏的条目感兴趣。我希望输出为:

CMSBC01  
CMSBC01_1
CMSBC03  
CMSBC03_1
GMSC1    
GMSC2
我试过了

awk -F\;  '{print $1}' /home/els/axelist.txt 
而且:

cat axelist.txt | sed 's/ *//'
但仍然无法提取第1列。 欢迎任何帮助

这应该有效:

awk '{print $1}' axelist.txt
awk
中的默认字段分隔符是任何空格序列

对于sed,它应该是:

sed 's/ .*//' axelist.txt

您缺少了
,因此它只是删除了空格,而不是空格后面的所有内容。

awk
应该可以工作。为什么要指定
作为字段分隔符,当它只是空白时?您的
sed
命令只是删除空格,它不会删除空格后的列。有没有办法用从
awk'{print$1}收到的输出重新填充axelist.txt文件'axelist.txt
从而覆盖以前的内容?
sed
具有替换文件的
-i
选项
awk
没有类似的选项--您必须写入一个新文件,然后重命名它。尝试了
sed-i的/*/'axelist.txt
,但得到了
非法选项--i
。我正在使用solaris。我运行的代码正确吗?我现在无法访问Solaris,您可能需要使用
/usr/xpg4/bin/sed
来获得现代选项。@Barmar
-I
是GNU特定的非POSIX选项,因此
/usr/xpg4/bin/sed
在这里没有帮助。
sed 's/ .*//' axelist.txt