Unix 在Solaris中截断尾随字符
我在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
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