标签: cut-command

为什么在命令 cut 中解释字符串中的字符“£”很奇怪?

我正在开发一个 bash 脚本并提出了以下奇怪的行为!

$ echo £ |cut -c 1
?
Run Code Online (Sandbox Code Playgroud)

符号£传递给下一个命令,cut其过滤器仅选择一个字符。

当我修改cut命令中的过滤器以选择 2 个字符时,则£通过!

$ echo £ |cut -c 1-2
£
Run Code Online (Sandbox Code Playgroud)

不是一个严重的问题,我在脚本中有一个解决方法,但是为什么在选择£标志时 cut 命令中的过滤器需要 2 个位置而不是 1 个位置?

command-line utf-8 cut-command

19
推荐指数
2
解决办法
2796
查看次数

有没有办法让 cut 命令只读取最后一个字段?

我有一个空格分隔的字符串,它是由一个命令输出的,我喜欢通过管道传输到cut-fd ' '用于在空格上进行拆分。我知道我可以-f <n>用来显示字段编号<n>,但是如果我不知道字符串的长度,我可以让它显示最后一个字段吗?

或者我是否需要使用更灵活的文本编辑工具,例如sedawk

command-line cut-command

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

以单词为分隔符的剪切命令

是否有任何剪切命令可以根据单词进行剪切,例如:

171212 16082784       6264 XXX     xxxxxxxx Transaction XXXXX abend ABCD. The task has terminated abnormally because of a program check. 16:08:27
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

171212 16082784       6264 XXX     xxxxxxxx Transaction XXXXX abend ABCD.
Run Code Online (Sandbox Code Playgroud)

如何接近?

command-line text-processing cut-command

15
推荐指数
3
解决办法
5万
查看次数

`cut -d: -f5-` 即使没有冒号也会打印行

假设一个名为“file”的文件包含以下行:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog
Run Code Online (Sandbox Code Playgroud)

如果我们使用带有这些选项的 cut 命令,我们会得到:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog
Run Code Online (Sandbox Code Playgroud)

在最后一行中,没有找到冒号字符,所以通常它不应该占用该行,因为我们从第 5 个字段开始到行尾。

为什么呢 ?

command-line cut-command

12
推荐指数
1
解决办法
1384
查看次数

如何从时间戳中删除第一个冒号“:”?

我是编程新手!!

任何人都可以帮助删除:时间戳中的第一个位置::29.06.2019 23:03:17

目前我正在尝试使用 awk/cut 命令来做到这一点,如下所示:

TDS="$(grep 'Logfile started' process.log |  awk '{print $3,$4}' | cut -d: -f2)"
echo "$TDS"


29.06.2019 23
Run Code Online (Sandbox Code Playgroud)

输出不是我想要的!我想将其打印为29.06.2019 23:03:17.

command-line bash awk cut-command

10
推荐指数
5
解决办法
4399
查看次数

您如何将具有多个空格的字段分开并将它们存储在数组中?

在我的文件中mytxt

field1                    field2
------                    -------
this are numbers          12345
this letters              abc def ghi 
Run Code Online (Sandbox Code Playgroud)

假设我想将第一个字段存储在数组中:

i=0
while read line; do 
    field_one[$i]=$(echo $line | awk '{print $1}')
    echo ${field_one[i]}  
    ((i++))
done < mytxt
Run Code Online (Sandbox Code Playgroud)

这会给我this两次输出。

关于如何将它们存储在数组中并获得输出的任何想法:

this are numbers
this letters
Run Code Online (Sandbox Code Playgroud)

我曾尝试更改分隔符、压缩空格和使用sed,但我被卡住了。任何提示将不胜感激。

我的最终目标是将两个字段存储在一个数组中。

bash sed awk tr cut-command

8
推荐指数
1
解决办法
3244
查看次数

从一行中删除某些字段

我在文件中有以下几行:

Modified folders: html/project1/old/dev/vendor/symfony/yaml/Tests/bla.yml
Modified folders: html/port5/.DS_Store
Modified folders: html/trap/dev8/.DS_Store
Modified folders: html/bla3/test/appl/.DS_Store
Modified folders: html/bla4/pro1/app/bla/Api2.php
Modified folders: html/bla10/dev/appl/language/.DS_Store
Modified folders: html/bla11/dev/appl/language/abc.txt
Run Code Online (Sandbox Code Playgroud)

这基本上是rsync. 我想列出文件的所有行,最多 3 个目录位置,例如

Modified folders: html/project1/old
Modified folders: html/port5
Modified folders: html/trap/dev8
Modified folders: html/bla3/test
Modified folders: html/bla4/pro1
Modified folders: html/bla10/dev
Modified folders: html/bla11/dev
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我提供任何命令或 shell 脚本来做同样的事情吗?

command-line scripts rsync text-processing cut-command

2
推荐指数
1
解决办法
272
查看次数

如何在 TSV 文件中拆分字符串

我有这样的 TSV 文件:

abc_1
def_2
ghi_3
jkl_4
mno_5
Run Code Online (Sandbox Code Playgroud)

我想把它分成:

abc 
def 
ghi 
jkl
mno
Run Code Online (Sandbox Code Playgroud)

1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

我怎么能得到那个?

text text-editor text-processing tr cut-command

2
推荐指数
1
解决办法
841
查看次数

如何使用“cut”命令通过 tlp 查找温度?

我在我的系统中安装了tlp以防止笔记本电脑过热,我使用此代码来检索当前的 CPU 温度。

tlp-stat -t 
Run Code Online (Sandbox Code Playgroud)

上面命令的输出是这样的:

--- TLP 0.7 --------------------------------------------

+++ Temperatures
CPU temp               =    47 [°C]
Fan speed              = (not available)
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何只检索该输出的整数部分(即 47)。我尝试使用 cut 命令,但无法找到最佳结果。

这是我使用的剪切命令

tlp-stat -t | cut -d= -f2 
Run Code Online (Sandbox Code Playgroud)

输出是

--- TLP 0.7 --------------------------------------------

+++ Temperatures
    49 [°C]
 (not available)
Run Code Online (Sandbox Code Playgroud)

如何优化我的cut命令以仅获取两位整数值?

command-line cut-command

0
推荐指数
1
解决办法
317
查看次数

标签 统计

cut-command ×9

command-line ×7

text-processing ×3

awk ×2

bash ×2

tr ×2

rsync ×1

scripts ×1

sed ×1

text ×1

text-editor ×1

utf-8 ×1