我正在尝试从基于列的"空格"调整的文本流中提取某个(第四个)字段.我正在尝试以cut下列方式使用该命令:
cat text.txt | cut -d " " -f 4
不幸的是,cut不会将多个空格视为一个分隔符.我本可以通过awk进行管道传输
awk '{ printf $4; }'
或者sed
sed -E "s/[[:space:]]+/ /g"
崩溃的空间,但我想知道是否有任何办法处理cut和本地几个分隔符?
这条线有效,直到我在第二个字段中有空格.
svn status | grep '\!' | gawk '{print $2;}' > removedProjs
Run Code Online (Sandbox Code Playgroud)
有没有办法让awk打印出2美元或更高的价格?($ 3,$ 4 ..直到我们没有列?)
我想我应该补充一点,我在Cygwin的Windows环境中这样做.
我正在尝试从DbgView日志文件中删除前两列(我不感兴趣).我似乎无法找到从第3列开始直到行结束的示例.请注意,每一行都有可变数量的列.
我需要从Unix中的文本文件中获取记录.分隔符是多个空格.例如:
2U2133 1239
1290fsdsf 3234
Run Code Online (Sandbox Code Playgroud)
由此,我需要提取
1239
3234
Run Code Online (Sandbox Code Playgroud)
所有记录的分隔符将始终为3个空格.
我需要在unix脚本(.scr)中执行此操作,并将输出写入另一个文件或将其用作do-while循环的输入.我试过以下:
while read readline
do
read_int=`echo "$readline"`
cnt_exc=`grep "$read_int" ${Directory path}/file1.txt| wc -l`
if [ $cnt_exc -gt 0 ]
then
int_1=0
else
int_2=0
fi
done < awk -F' ' '{ print $2 }' ${Directoty path}/test_file.txt
Run Code Online (Sandbox Code Playgroud)
test_file.txt是输入文件,file1.txt是查找文件.但上面的方法不起作用,并在awk -F附近给我语法错误
我尝试将输出写入文件.以下在命令行中工作:
more test_file.txt | awk -F' ' '{ print $2 }' > output.txt
Run Code Online (Sandbox Code Playgroud)
这是在命令行中将记录写入output.txt.但是同样的命令在unix脚本中不起作用(它是.scr文件)
请让我知道我哪里出错了,以及如何解决这个问题.
谢谢,
维萨克
我有这样的文字:
word1 word2 word3 word4
Run Code Online (Sandbox Code Playgroud)
一对单词之间可能有多个空格,我想从每一行得到一些单词列.当我使用cat file | cut -d ' ' -f1,2,4它时,似乎某些字段是空间,这不是我所期望的.我知道awk可以做到这一点.问题是我们能否cut只做到这一点?也就是说,我们可以设置多个空格作为分隔符cut,但数量是多少?
我只想显示命令中所有记录的特定列。
示例:docker ps显示 10 列中的数据。列标题之间可以有空格。我的要求是以某种顺序只获得 2-4 列。
在任何以表格方式响应的命令中是否有直接的方法来做到这一点?
我是 Linux 新手,正在考虑这是否可行。谢谢。
例如:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED NAMES
123 image "ABC DEF" 10 hours ago image ABC
Run Code Online (Sandbox Code Playgroud)
在上面的场景中,CONTAINER ID是一个标题列但有空间,并且在NAMES列的行中可以有空间。
使用AWK, CUTetc 为所有命令编写通用脚本比较棘手,因为它们适用于“空间”逻辑。