相关疑难解决方法(0)

如何使'cut'命令将同一个sequental分隔符视为一个?

我正在尝试从基于列的"空格"调整的文本流中提取某个(第四个)字段.我正在尝试以cut下列方式使用该命令:

cat text.txt | cut -d " " -f 4

不幸的是,cut不会将多个空格视为一个分隔符.我本可以通过awk进行管道传输

awk '{ printf $4; }'

或者sed

sed -E "s/[[:space:]]+/ /g"

崩溃的空间,但我想知道是否有任何办法处理cut和本地几个分隔符?

unix bash cut delimiter

303
推荐指数
3
解决办法
14万
查看次数

使用awk打印从第n个到最后一个的所有列

这条线有效,直到我在第二个字段中有空格.

svn status | grep '\!' | gawk '{print $2;}' > removedProjs
Run Code Online (Sandbox Code Playgroud)

有没有办法让awk打印出2美元或更高的价格?($ 3,$ 4 ..直到我们没有列?)

我想我应该补充一点,我在Cygwin的Windows环境中这样做.

linux awk

284
推荐指数
10
解决办法
43万
查看次数

如何将第三列打印到最后一列?

我正在尝试从DbgView日志文件中删除前两列(我不感兴趣).我似乎无法找到从第3列开始直到行结束的示例.请注意,每一行都有可变数量的列.

unix linux shell multiple-columns

108
推荐指数
10
解决办法
22万
查看次数

Unix - 需要剪切一个有多个空格作为分隔符的文件 - awk或cut?

我需要从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文件)

请让我知道我哪里出错了,以及如何解决这个问题.

谢谢,
维萨克

unix awk cut delimiter

10
推荐指数
2
解决办法
2万
查看次数

cut:我们可以设置多个空格作为分隔符吗?

我有这样的文字:

word1 word2   word3  word4
Run Code Online (Sandbox Code Playgroud)

一对单词之间可能有多个空格,我想从每一行得到一些单词列.当我使用cat file | cut -d ' ' -f1,2,4它时,似乎某些字段是空间,这不是我所期望的.我知道awk可以做到这一点.问题是我们能否cut只做到这一点?也就是说,我们可以设置多个空格作为分隔符cut,但数量是多少?

bash shell cut

8
推荐指数
4
解决办法
7639
查看次数

显示命令的特定列

我只想显示命令中所有记录的特定列。

示例: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 为所有命令编写通用脚本比较棘手,因为它们适用于“空间”逻辑。

unix linux bash shell command-line

7
推荐指数
2
解决办法
5434
查看次数

标签 统计

unix ×4

bash ×3

cut ×3

linux ×3

shell ×3

awk ×2

delimiter ×2

command-line ×1

multiple-columns ×1