AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-45335

Duck's questions

Martin Hope
Duck
Asked: 2023-11-07 01:26:59 +0800 CST

可以和wget并行下载吗?

  • 5

我正在从列表中下载一堆文件,使用wget, 与此

wget -nc --input-file=list

这种方法的问题是,它会按顺序下载文件,并且需要很长时间。

我知道我可以将文件分成多个较小的文件并手动触发多个命令。我问是否可以自动完成。

wget
  • 1 个回答
  • 28 Views
Martin Hope
Duck
Asked: 2023-10-29 23:15:15 +0800 CST

为什么使用 vi 创建不同编码的文件

  • 6

当我使用 Bash 脚本时,我总是使用vi.

我正在调试一个理论上正确编写的脚本,我决定检查使用该命令创建的文件file。这就是我所看到的。

myScript1  Bourne-Again shell script text executable, Unicode text, UTF-8 text
myScript2  ASCII text
myScript3  POSIX shell script text executable, ASCII text
myScript4  Unicode text, UTF-8 text

同一天创建的四个脚本怎么会有vi不同的编码?

我正在调试的是ASCII text

如何将其更改为Bourne-Again shell script text executable, Unicode text, UTF-8 text?

files
  • 1 个回答
  • 33 Views
Martin Hope
Duck
Asked: 2023-10-04 19:09:18 +0800 CST

如何在 macOS 的 BSD 终端上将带有段落的 CSV 转换为 JSON?

  • 4

我有一个巨大的文本文件,其中包含以下结构:

title;description;date

问题是descriptionmain 包含段落,例如:

title;description;data
MyText;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam est dolor, molestie a rhoncus vel, congue sed diam. Vestibulum pellentesque libero eleifend dolor finibus vestibulum. Curabitur at suscipit tellus, at viverra ex. Nulla sem nibh, laoreet a porta a, convallis ac augue. Aliquam diam sapien, rutrum sed nulla lobortis, hendrerit rutrum diam. Donec tellus quam, maximus at mollis sit amet, consequat eget orci. Duis id vestibulum metus. Nulla convallis tortor diam, a tempus quam mollis sed. Aliquam at fermentum nibh, quis sodales orci. Maecenas viverra ultrices lobortis. Morbi viverra, tortor in mattis tincidunt, augue erat condimentum leo, a dignissim nulla lacus ac augue. Sed tincidunt rutrum sapien, sodales commodo sapien. Sed ultrices, augue vitae porta viverra, eros magna pellentesque leo, in bibendum enim enim non nulla. Nullam vel venenatis leo.

Sed sed vulputate nulla. Nullam hendrerit justo quis ante aliquet ullamcorper. Praesent at rhoncus ipsum, in sodales felis. Nam eu ante accumsan urna tempus rutrum at in felis. Maecenas eleifend enim nec augue eleifend, ut sagittis leo tincidunt. In non felis pretium, accumsan mi sit amet, hendrerit lectus. Nullam auctor mi non ligula aliquam commodo. Nunc mollis consequat purus, sit amet rutrum elit sodales sit amet. Suspendisse potenti. Ut a tempor urna. Etiam vitae venenatis ex.

Nunc ut mattis nibh. Morbi varius accumsan purus, vel facilisis eros suscipit id. Sed non accumsan arcu, pretium pulvinar urna. Quisque a neque faucibus, condimentum velit eget, varius lorem. Duis varius iaculis ullamcorper. Maecenas vitae fringilla mi, ultrices finibus justo. Suspendisse vel nibh tortor. Nullam ullamcorper justo augue, molestie lacinia lorem varius et. Etiam sed pulvinar metus, ac euismod arcu. Morbi laoreet dolor volutpat, tempor nunc sit amet, lobortis ipsum. Quisque posuere commodo sollicitudin. Vivamus consectetur ligula sed ante tristique congue. Duis faucibus lacus tellus, sed consectetur purus ornare vitae.;2023-07-12

如何使用 macOS 终端将其转换为 JSON?

注意:由于敏感数据,我不想使用在线转换器。

我尝试过类似的东西

ruby -r json -r csv -e 'puts CSV.parse(STDIN, headers:true).map(&:to_h).to_json' < myFile.csv > myFile.json

但这些都失败了。我怀疑是因为他们将段落中的换行符解释为 CSV 行的结尾和下一行的开头。

当我执行 a 时,cat -e myFile.csv我看到$为行和段落内的分隔符的标记。一样的标记!

当我file在CSV我看到

Unicode text, UTF-8 text, with very long lines, with CRLF line terminators

我不知道该怎么做。

谢谢

csv
  • 1 个回答
  • 43 Views
Martin Hope
Duck
Asked: 2023-09-04 23:04:44 +0800 CST

在 CSV 文件内将 1 到 9 之间的个位数转换为两位数

  • 9

我有一个包含数千行这样的 CSV 文件

1664;4;5;35;37;43;5;6
1663;21;23;32;40;49;8;11
1662;16;17;34;35;44;5;10
1661;2;9;23;32;40;6;7
1660;23;25;30;44;47;9;12
1659;3;5;9;32;43;6;10
1658;4;6;10;13;34;3;5
1657;8;9;33;35;40;3;6
1656;15;20;31;44;48;1;3
1655;25;27;35;40;45;7;11
1654;7;32;33;34;38;6;9
1653;5;7;11;27;37;6;12
1652;7;31;33;35;36;7;10
1651;4;12;34;35;45;1;9
1650;5;8;29;35;48;5;6
1649;2;11;28;42;48;4;9
1648;2;11;12;19;38;4;8

您可以看到 1 到 9 之间的数字都是个位数。

我如何使用sed或将这些数字转换为两位数,方法是在它们前面加一个零,例如

01 02 03 04 05 06 07 08 09

代替

1 2 3 4 5 6 7 8 9

提前致谢。

text-processing
  • 6 个回答
  • 593 Views
Martin Hope
Duck
Asked: 2023-02-28 21:36:01 +0800 CST

将文件中每 6 行记录的第 5 行中的值相加

  • 6

我有一个包含如下文本块的 txt 文件:

17-01-2023
Purchase AAA
Apple Pay John Doe
Full Payment
-11,34€
0,11€
30-01-2023
Purchase BBB
Mastercard Jane Doe
Installment
-23,90€
0,24€

因此,我们依次有日期、购买类型、付款类型和姓名、付款类型、负值和折扣。

这些通过包含数千个条目的文件重复。

我想对这些值求和,在此示例中为 11,34 + 23,90,并将总和设为正数。请记住,数字后有一个欧元符号,在我的语言环境中,逗号是小数点分隔符。

我如何从终端使用 sed、awk 等来做到这一点?

text-processing
  • 4 个回答
  • 66 Views
Martin Hope
Duck
Asked: 2020-01-11 14:34:28 +0800 CST

递归替换多个 Info.plist 文件中的文本

  • 1

我在一个主目录中有无数个目录。这些目录中的每一个都有多个级别的子目录。传播其中,有文件名为Info.plist.

在这些Info.plist文件中,有以下几行:

<string>/Users/Shared/Library/Mail/V7/74309-67B6-44E3-BD66-9384D1E54398/Junk.mbox</string>

这些行,每个文件可能是一个或多个,可能不同,例如

<string>/Users/Shared/Library/Mail/V7/74398/Junk.mbox</string>

<string>/Users/Shared/Library/Mail/V7/7-67B8/Sent.mbox</string>

<string>/Users/Shared/Library/Mail/V7/OLD/Old.mbox</string>

我有兴趣在这些Info.plist文件中找到这些行并将Shared部分更改为Fireball.

因此,前一行将变为

<string>/Users/Fireball/Library/Mail/V7/74398/Junk.mbox</string>

<string>/Users/Fireball/Library/Mail/V7/7-67B8/Sent.mbox</string>

<string>/Users/Fireball/Library/Mail/V7/OLD/Old.mbox</string>

其余部分保持原样。

因此,首先我必须递归扫描目录结构,找到Info.plist它们拥有的所有文件,扫描每个文件Info.plist中的Shared关键字(如果它们在路径中使用)并将其更改为Fireball.

我如何使用一些神奇的 unix 命令来做到这一点?

我在摆弄这个

find . -type f -name Info.plist -exec sed 's/Shared/Fireball/g' {} +

这几乎似乎正在工作,因为它打印以控制台正确的更改,但文件没有改变。

grep awk
  • 2 个回答
  • 435 Views
Martin Hope
Duck
Asked: 2019-02-27 02:03:36 +0800 CST

对 CSV 文件的元素进行排序

  • 1

我有一个 csv 文件,每行有七个数字,如下所示:

1083,20,28,42,23,10,43
1084,20,5,29,59,40,33
1085,39,50,21,12,40,55
1086,45,4,6,23,10,2
1087,36,46,28,32,3,20

我想保留第一个数字(第 1 列)并对第 2 到第 7 列进行排序,使文件像

1083,10,20,23,28,42,43
1084,5,20,29,33,40,59
1085,12,21,39,40,50,55
1086,2,4,6,10,45,23
1087,3,20,28,32,36,46

我怎样才能做到这一点awk,sed或者其他什么?

谢谢

awk sed
  • 4 个回答
  • 316 Views
Martin Hope
Duck
Asked: 2019-02-18 10:28:13 +0800 CST

如何使用 SED 或 AWK 从 txt 文件中删除特定数字?

  • 4

我在一家不允许我在我的电脑上安装任何软件的公司工作,我在那里运行糟糕的窗口。

我需要清理从 Intranet 复制的大量文本并保存为 txt 文件。所以我必须使用sed和/或awk在线实时编辑器,像这样或这样

这些文字是这样的

01

010010-26.2010.501.0026  fafas fasdf asdf asdfsadf asdfasd fasd asasdff

fdfsadf adsf adsf asdf asdfas fadsf asdfa

02

0011-15.2016.501.0012  fafas fasdf asdf asdfsadf asdfasd fasd asasdff
asdfasd fasd asasdff
asdfasd fasd asasdff
0011-125.2013.501.0012
asdfasd fasd asasdff

看到这样的数字0011-15.2016.501.0012就是我想要的。我不关心其余的,但我想用所有这些数字创建一个新的干净文本,每行一个。在前面的例子中,我需要一个文本

010010-26.2010.501.0026
0011-15.2016.501.0012
0011-125.2013.501.0012

.501.总是存在,在所有数字中,作为第 4 组。

我在 sed 在线编辑器上试过这个命令

's/\([0-9]*\-[0-9]*\.[0-9]*\.501\.[0-9]*\)/\1/'

不工作。

awk text-processing
  • 2 个回答
  • 442 Views
Martin Hope
Duck
Asked: 2019-02-04 00:12:45 +0800 CST

如何在 Bash 历史记录中找到一个条目 [重复]

  • 0
这个问题在这里已经有了答案:
命令历史中的命令行完成 5 个答案
3年前关闭。

当我打开 bash 并按向上箭头时,我看到了我输入的最后一个命令。继续按向上箭头将显示过去键入的一系列命令。

如何从该列表中找到一个特定命令,而不必按向上箭头 n 次?

bash
  • 5 个回答
  • 345 Views
Martin Hope
Duck
Asked: 2019-01-28 12:11:42 +0800 CST

将减量字段添加到 csv 文件

  • 0

我有一个类似的 CSV 文件

10;12;33;44;55;66;77;88
1;2;3;4;5;6;7;8
110;112;133;144;155;616;771;818
...etc

每行有八个数字,以 . 分隔;。

我需要在每一行的开头添加一个新字段,从 1184 开始向下,所以最终文件将是

1184;10;12;33;44;55;66;77;88
1183;1;2;3;4;5;6;7;8
1182;110;112;133;144;155;616;771;818
... etc

我如何使用awkmacOS 或在 macOS 上运行的东西来做到这一点?

awk text-processing
  • 1 个回答
  • 27 Views
Martin Hope
Duck
Asked: 2018-10-10 23:04:00 +0800 CST

如何交换 JSON 文件中的两个数组元素

  • 3

我有这样的文件

{"100":["0.00001","10","0.01"],
"101":["0.0001","100","0.1"],
"102":["1","1000","1"],
....
"103":["0.01","10000","10"]}

我想在每个数组中将第二个数字与第三个数字交换,将其转换为

{"100":["0.00001","0.01","10"],
"101":["0.0001","0.1","100"],
"102":["1","1","1000"],
....
"103":["0.01","10","10000"]}

我该如何使用sed,awk或其他方式做到这一点?

注意第一个和最后一个记录的存在{和}。

谢谢

awk sed
  • 3 个回答
  • 729 Views
Martin Hope
Duck
Asked: 2018-10-10 07:51:31 +0800 CST

仅替换一行中第一次出现的字符

  • 1

我有几千行这样的行:

{"100K";"0.00001";"10";"0.01"]}
{"101K";"0.0001";"100";"0.1"]}
{"102K";"1";"1000";"1"]}
{"102K";"1";"1000";"1"]}
{"103K";"0.01";"10000";"10"]}
{"104K";"0.1";"100000";"100"]}
{"105K";"1";"1000000";"1000"]}
{"109K";"0.000001";"1";"1"]}
{"120K";"0.000012";"12";"12"]}

我想;用:[

使这些线等于

{"100K":["0.00001";"10";"0.01"]}
{"101K":["0.0001";"100";"0.1"]}
{"102K":["1";"1000";"1"]}
{"102K":["1";"1000";"1"]}
{"103K":["0.01";"10000";"10"]}
{"104K":["0.1";"100000";"100"]}
{"105K":["1";"1000000";"1000"]}
{"109K":["0.000001";"1";"1"]}
{"120K":["0.000012";"12";"12"]}

我如何使用 sed 或其他 unix 命令来做到这一点?

awk text-processing
  • 3 个回答
  • 226 Views
Martin Hope
Duck
Asked: 2018-03-26 07:17:26 +0800 CST

递归复制文件而不保留目录

  • 1

我有一堆包含 MP3 文件的目录。这些目录中不包含其他目录。

如何在不删除文件的情况下删除所有目录结构?

这基本上是将在这些目录中找到的所有文件移动到当前目录。当前目录是其他目录所在的目录。

files directory
  • 2 个回答
  • 62 Views
Martin Hope
Duck
Asked: 2018-02-03 06:41:54 +0800 CST

?4 被这个 Bash 脚本添加到文件名中,为什么?

  • 6

我有这个脚本可以从很多mp4视频中提取一帧并将它们存储为png

for i in *.mp4; do
    [ -f "$i" ] || break
    number=$(echo "$i" | grep -o -E '[0-9]+')
    name=frame"$number".png
    ffmpeg -i "$i" -ss 00:01:00.000 -vframes 1 "$name"
done

视频被命名为video1.mp4,video2.mp4等。因为循环使视频乱序,我从视频中提取数字以生成输出文件名。

这很好用,但文件的文件名png是这样的:

frame1?4.png, frame3?4.png, frame3?4.png...

为什么?4?


啊,我现在看到 4 来自 mp4 上的 4。我怎样才能得到第一个数字?

bash
  • 2 个回答
  • 782 Views
Martin Hope
Duck
Asked: 2018-01-30 10:26:00 +0800 CST

从终端检查 URL 重定向

  • 6

我有一台服务器,其中包含很多要检查的域重定向。

我不相信浏览器缓存域的方式,所以我不确定我是看到它还是看到来自缓存的重定向。

有没有办法测试来自终端的重定向并在没有任何缓存的情况下看到真实的东西?

我努力了

curl -I http://example.com

正如其他帖子所述,但它没有在我的 Mac 上提供任何重要信息。

它给了我这个:

HTTP/1.1 406 Not Acceptable
Date: Mon, 29 Jan 2018 18:26:50 GMT
Server: Apache
Content-Type: text/html; charset=iso-8859-1
command-line curl
  • 1 个回答
  • 18443 Views
Martin Hope
Duck
Asked: 2017-12-17 07:22:36 +0800 CST

反转一组 3 重复中的两条线

  • 1

我有一个这样的txt文件

AAAAAAAAAA
BBBBBBBBBB
CCCCCCCC

DDDDDDDDDDD
EEEEEEEEEEE
FFFFFFFFFFF

GGGGGGGGGGG
HHHHHHHHHHH
IIIIIIIIIII

每组 3 行,中间有换行符。

我想反转每组的前两行,使文件像这样

BBBBBBBBBB
AAAAAAAAAA
CCCCCCCC

EEEEEEEEEEE
DDDDDDDDDDD
FFFFFFFFFFF

HHHHHHHHHHH
GGGGGGGGGGG
IIIIIIIIIII

我该如何从终端做到这一点?

编辑:如果您需要针对它测试您的答案,我已将我的文本文件示例上传到此处。

awk sed
  • 3 个回答
  • 118 Views
Martin Hope
Duck
Asked: 2017-12-11 10:36:42 +0800 CST

/etc/hosts 没有阻止任何东西

  • 1

我正在尝试/etc/hosts在我的 Mac 上使用来阻止臭名昭著的卑鄙网站,例如mackeeper.com并com-cleaner.systems再次在弹出窗口中加载。

在这样做时,我在我的hosts文件中找到了这些条目:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1        localhost
255.255.255.255  broadcasthost
::1              localhost

所以我添加了这些......

127.0.0.1  mackeeper.com
127.0.0.1  www.mackeeper.com
127.0.0.1  mackeeperapp.zeobit.com
127.0.0.1  mackeeperapp2.mackeeper.com
127.0.0.1  *.mackeeper.com
127.0.0.1  activate.adobe.com
127.0.0.1  practivate.adobe.com
127.0.0.1  *.com-cleaner.systems
127.0.0.1  *.bet.pt

并且所有这些站点即使在重新启动后也能继续正常加载。

我也尝试过添加相同的行,fe80::1%lo0无论::1是否成功。

有任何想法吗?

hosts
  • 1 个回答
  • 1621 Views
Martin Hope
Duck
Asked: 2017-12-03 04:59:56 +0800 CST

将 unix 文件的行尾更改为 windows ^M 不起作用

  • 1

我有一个文件使用 unix 表示法作为行尾,另一个文件使用 Windows 表示法。

当我vi查看 unix 文件时,我在行尾看不到任何东西。当我vi看到^M蓝色的 windows 文件时

在此处输入图像描述

问题是,从中间往下,线条中没有^M蓝色 (??)。

我正在尝试将整个文件转换为^M所有行。

我已经尝试了很多命令,但特别是这个

sed -e 's/$/^M/' < input.txt > output.txt

将“^M”添加为两个字符,而不是添加,Command-M并且它也在已经具有正确^M字符的行上这样做......

我也试过

sed -e 's/\r/^M/' < input.txt > output.txt

和

sed -e 's/\n/^M/' < input.txt > output.txt

没有成功...

发出一个cat -e input.txt我在 ^M 正确的行上看到了这个:

1895;2;3;5;10;14;34^M$
1896;3;6;14;15;21;25^M$
1897;9;22;25;47;52;58^M$
1898;12;34;45;53;55;58^M$

这在不正确的

1899;20;23;35;36;44;48$
1900;8;11;27;28;43;46$
1901;11;12;26;30;37;53$
1902;02;07;09;18;21;25$
1903;09;10;15;28;43;45$

如何使用 command-m 获取所有行?

awk sed
  • 2 个回答
  • 2269 Views
Martin Hope
Duck
Asked: 2017-12-03 04:08:16 +0800 CST

检查文本文件是否包含所有条目并且格式正确

  • 0

我有一个像这样的文件

0001;4;5;30;33;41;52
0002;9;37;39;41;43;49
0003;10;11;29;30;36;47
0004;1;5;6;27;42;59
0005;1;2;6;16;19;46
0006;7;13;19;22;40;47
0007;3;5;20;21;38;56
... etc

第一个数字是计数器,后面六个是 1 或 2 位数字。

该文件有数千行这样的。它从 1 开始,一直到 9999。

有没有办法检查是否缺少一行?我的意思是,如果从第一行到最后一行的所有数字都存在?

我的意思是这样的:

0001;4;5;30;33;41;52      // first line
0002;9;37;39;41;43;49
0003;10;11;29;30;36;47
...
9999;3;4;8;12;55;88       // last line

0001 和 9999 之间是否缺少任何行?

假设:

0001;4;5;30;33;41;52     
0002;9;37;39;41;43;49
0003;10;11;29;30;36;47
0004;1;5;6;27;42;59
0006;7;13;19;22;40;47

看?0005 不见了。

作为奖励,最好检查所有七个数字是否由;任何其他字符而不是任何其他字符分隔。

谢谢

awk csv
  • 2 个回答
  • 232 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve