我有一个文件ma.txt,它包含的输出ls -l;当我运行tr命令 ( tr "nik-pc" "root") 时,我得到以下输出:
nik-pc@nik:~$ cat ma.txt
total 52
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 11 11:33 Desktop
lrwxrwxrwx 1 nik-pc nik-pc 2 Mar 8 22:54 di -> hd
drwxr-xr-x 3 nik-pc nik-pc 4096 Mar 13 13:28 Documents
drwxr-xr-x 7 nik-pc nik-pc 4096 Mar 14 18:21 Downloads
drwxr-xr-x 2 nik-pc nik-pc 4096 Mar 11 09:39 dwhelper
-rw-r--r-- 1 nik-pc nik-pc 2134 Mar 13 17:40 hd
-rw-r--r-- 1 nik-pc nik-pc 3 …Run Code Online (Sandbox Code Playgroud) 如何在每个空格前加上反斜杠,最好是使用tr或sed命令?
这是我的脚本:
#!/bin/bash
line="hello bye"
echo $line | tr ' ' "\\\ "
Run Code Online (Sandbox Code Playgroud)
这应该用反斜杠后跟一个空格替换空格,但它只是用反斜杠替换空格而不是反斜杠+空格。
这是我得到的输出:
hello\bye
Run Code Online (Sandbox Code Playgroud)
预期输出:
hello\ bye
Run Code Online (Sandbox Code Playgroud) 在我的文件中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,但我被卡住了。任何提示将不胜感激。
我的最终目标是将两个字段存储在一个数组中。
我使用Ubuntu 18.04,最近我一直在运行bash脚本时收到此错误:tr: command not found。在tr不存在/usr/bin和/usr/sbin。也安装了,coreutils但仍然没有运气。如何将此命令添加到我的 shell?
which tr什么都不返回。这就是 apt 所说的coreutils:
coreutils is already the newest version (8.28-1ubuntu1).
Run Code Online (Sandbox Code Playgroud)
我明白了Command 'tr' not found,没有什么可以超越它。/usr/bin在我的PATH变量中。
我有一个需要组织多次重复的文件,我的文件有 6 行 3120 行,每个成员有 1 或 2 位数字,总共 18720 个数字有 1 或 2 位数字。
我想计算我的文件中有多少个 1、多少个 2、多少个 3 等等到多少个 45,并输出组织最多报告的数字以减少重复。例子:
5 7 13 25 26 44
12 21 26 28 32 44
10 20 22 26 40 44
13 18 19 20 22 23
9 15 17 19 22 43
10 19 28 29 37 45
2 8 12 13 22 35
3 23 24 26 38 39
3 14 19 20 33 43
2 3 8 35 36 …Run Code Online (Sandbox Code Playgroud) 我有这样的 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)
我怎么能得到那个?