我有以下文件格式
Received from +11231231234 at 2021-10-10T19:56:50-07:00:
This is a message that contains words like from, at, etc.
Sent to +11231231234 at 2021-10-11T06:50:57+00:00:
This is another message that contains words like to, at, etc.
Run Code Online (Sandbox Code Playgroud)
我想清理“已接收”和“已发送”行,以下 sed 命令可以实现此目的
cat file | sed 's/from//g' | sed 's/to/ /g' | sed 's/+\w\+//' | \
sed 's/at//g' | sed 's/T/ /g' | sed 's/[[:digit:].]*\:$//' | \
sed 's/[[:digit:].]*\:$//' | sed 's/-$//' | sed 's/-$//' | sed 's/+$//'
Run Code Online (Sandbox Code Playgroud)
并产生以下结果
Received 2021-10-10 19:56:50
This is a message …Run Code Online (Sandbox Code Playgroud) 有什么方法可以通过 Linux Bash 命令在文件中搜索大于 100 天的正常运行时间吗?
例如,file1包含:
Uptime is 172 days
Uptime is 562 days
Uptime is 30 days
downtime is 197 days
Run Code Online (Sandbox Code Playgroud)
我可以使用什么命令来获得如下输出:
Uptime is 172 days
Uptime is 562 days
Run Code Online (Sandbox Code Playgroud) 我有十个文件:firstFile.txt,...,tenthFile.txt
在文件的最后一行,我想附加文件名。
即对于第一个,最后一行将是firstFile
我想用一行代码执行此操作。
我是个新手,所以不知道该尝试什么,我的猜测是这样的echo * >> *.txt,但并不感到惊讶,因为它不起作用
我最近开始在一家全 Linux 公司担任 IT 人员,并注意到我们所做的一些任务可以“轻松”自动化。今天的自动化任务是/etc/apt/apt.config.d/50unattended-upgrades在新计算机上安装软件和配置。我已经编写了软件安装脚本,但现在我一直坚持取消注释所需的无人值守升级行。
我给你举个例子,这个:
// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; doesn't necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that …Run Code Online (Sandbox Code Playgroud) bl:ab:la:bl:ab:la我想以格式 >>编辑 MAC 列表blab.labl.abla。每个 MAC 都排成一行。我是 AWK 或 SED 的新手,但我几乎确信可以使用这些命令中的任何一个来执行它。
有没有办法设置必须插入字符(点)的列位置(使用 sed 或 awk)才能完成此任务?
我已经阅读了 sed 手册页,但没有得到任何明确的说明。
我确实有一个 bash 脚本。我想从文本文件中删除特定字符串。我已经在网上找到了一个命令,但似乎不太稳定。
我试过了;
mv .admins .adminsold
sed -r "s#${MYFUNCTION}(,|$)##g" <.adminsold >.admins
Run Code Online (Sandbox Code Playgroud)
我的输入文件;
# Admin rule
[[rule]]
# Set your admin Group Ids here, ex: [ 13, 42 ]
groupid = [ 329, 2, 324, 156 ]
# And/Or your admin Client Uids here
useruid = []
# By default treat requests from localhost as admin
ip = [ "127.0.0.1", "::1" ]
"+" = "*"
Run Code Online (Sandbox Code Playgroud)
预期文件;
# Admin rule
[[rule]]
# Set your admin Group Ids here, ex: [ 13, …Run Code Online (Sandbox Code Playgroud) 我有两个文件。
文件A:
newname,1,string
newname,2,string
newname,3,string
...
name,65500,string
Run Code Online (Sandbox Code Playgroud)
文件B;
oldname,1,string
oldname,2,string
oldname,3,string
...
oldname,65500,string
Run Code Online (Sandbox Code Playgroud)
我需要一个 bash 脚本来将文件 B 中的“旧名称”更改为文件 A 中的“新名称”,其中第二列号匹配。
我有一个文本文件,行前有一个空格。如何使用tr(或正确的命令)删除它?
例如,我有这个:
Text
Run Code Online (Sandbox Code Playgroud)
我想要这个:
Text
Run Code Online (Sandbox Code Playgroud)
但是,对于 200 行的文本文件,我该怎么做呢?
我目前有这个管道:
cat file.txt | tr -s " " | tr -d ","
Run Code Online (Sandbox Code Playgroud)
其他tr命令用于删除文本文件的其他方面。
我想我的问题更接近于“我将如何通过 ssh 终端从远程连接编辑 .conf 文件?”
我下载了一个 ssh 模拟器到我的 iPhone 上,它运行良好,而且我可以通过 DNS 服务 ssh 到我家里的电脑。现在我正试图惹恼我现在在家的室友,我让我的机器发出哔哔声。
为了做到这一点,我需要编辑/etc/modprobe.d/blacklist.config. 我试过 sudoedit 但我没有收到任何文字。
任何图形都是不可能的,因为我本质上是在一个专用终端中,就像你按下Ctrl+ alt+ 一样F1。
我有一个包含一千行的文本文件。我想通过将每一行写入单独的文本文件来将文件拆分为 1000 个不同的文件。我希望拆分文件的名称按顺序排列。
例子:
foo.txt 文件包含,
foo
bar
...
...
lastfoo
Run Code Online (Sandbox Code Playgroud)
第一个拆分文件必须仅包含一行foo,其名称为bar1.txt. 并且第二个文件必须只包含一行bar,它的名称bar2.txt也是如此,因为最后一个文件应该包含一行lastfoo,最后一个文件的名称将是bar1000.txt.
命令行(单行)方式比脚本方式更好。
text-processing ×10
command-line ×8
scripts ×3
bash ×2
sed ×2
20.04 ×1
remote ×1
ssh ×1
text ×1