我有很多 XML 文件,其中超过 50000 个。
在一些XML文件中,一些文件是这样写的
<filename>abc.JPEG<^Lilename>
Run Code Online (Sandbox Code Playgroud)
^L
只是一个字符,但我找不到^L
Google 的含义。
当我cat
用来打印文件的内容时,它显示如下
<filename>abc.JPEG<
ilename>
Run Code Online (Sandbox Code Playgroud)
无论如何,我想换<filename>abc.JPEG<^Lilename>
到<filename>abc.JPEG</filename>
我已经找到了一些命令来更改许多文件中的单词,例如
find . -exec perl -pi -e 's/[find_word]/[change_word]/g' {} \;
Run Code Online (Sandbox Code Playgroud)
但是该命令在我的情况下不起作用,因为当我输入时它无法识别搜索词^L
。
如何在多个文件中更改<filename>abc.JPEG<^Lilename>
为<filename>abc.JPEG</filename>
?
我正在创建一个脚本,该脚本运行一系列命令,将网站下载到机器并设置所有内容。
所以大部分命令都需要root访问权限。例如在 中添加一个虚拟主机/etc/apache2/sites-available
,启用它,重新启动 apache 等......
因此,为了做到这一点,我需要使用sudo
.
sudo ./install-website.sh
Run Code Online (Sandbox Code Playgroud)
该网站位于带有 git 存储库的服务器上,该存储库通过无密码 SSH 访问进行设置。但这仅适用于用户,dan
因为密钥在我的主文件夹中,而不是在根的主文件夹中。
所以当它到达这部分时:
git clone user@host.com:git-repo $PATH_TO_INSTALLATION
Run Code Online (Sandbox Code Playgroud)
由于我使用 启动脚本sudo
,因此尝试启动 git 命令的用户是 root。所以主机不断询问主机的用户密码。
我尝试了以下命令:
sudo -u $SUDO_USER git clone user@host.com:git-repo $PATH_TO_INSTALLATION
Run Code Online (Sandbox Code Playgroud)
但它仍然要求提供主机用户的密码。
是否可以告诉sudo
使用$SUDO_USER
的主路径?
大多数东西都是变量,并且必须是变量,因为我将在超过 1 台机器上运行它。
在运行时sudo do-release-upgrade
,我收到一条消息:
Canonical 不再支持 16 个已安装的软件包。您仍然可以从社区获得支持。
我知道我可能不应该担心,但是如何在开始升级之前获得这些软件包的列表?
以下是do-release-upgrade
选择 continue 之前的完整输出:http : //paste.ubuntu.com/12990830/
为了更方便,这是其中最重要的部分:
Calculating the changes
Do you want to start the upgrade?
16 installed packages are no longer supported by Canonical. You can
still get support from the community.
61 packages are going to be removed. 204 new packages are going to be
installed. 1617 packages are going to be upgraded.
You have to download a total of 1,220 M. This download will take …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有可能创建和自托管 snap 包的存储库,然后可以通过 Puppet、Chef 或 Ansible 之类的东西部署/更新。这是可行的,还是快照中的某些机制会使这成为不可能?
请注意,此处引用的快照存储示例现在被标记为过时/不再与当前的 snapd 实现兼容。
Ubuntu 20.04 LTS 不支持 MySQL Workbench。有什么解决办法吗?
我正在玩最新 Ubuntu 的网络组件。当我尝试使用 NM 管理网络设备时,我遇到了上述问题。
命令行输出是
root@sankar:~# nmcli d s
DEVICE TYPE STATE CONNECTION
eth0 ethernet unmanaged --
eth1 ethernet unmanaged --
eth2 ethernet unmanaged --
lo loopback unmanaged --
Run Code Online (Sandbox Code Playgroud)
我尝试了https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1638842 中给出的几个解决方案(评论 #36 和 #30)。
任何帮助都受到高度赞赏
我想从其 GitHub 存储库为Cozy创建一个 .deb 文件。我该怎么做?我不想使用 Flathub 版本。
我在 Ubuntu 20.04 上。
假设我有两个显示器设置。
我在显示器 #1 上打开 Firefox。如果我将鼠标悬停在显示器 #1 上选择菜单项,全局菜单将显示。但是,如果我将鼠标悬停在显示器 #2 上选择菜单项,则不会显示任何内容,除非我将 Firefox 窗口移动到第二个显示器。但是全局菜单将不会显示在显示器 #1 上。
无论应用程序在哪个显示器上可见,我都可以在所有显示器上显示全局菜单吗?
请注意,我不想禁用自动隐藏功能。
编辑:添加一个关于我为什么需要这个的原因:
我要求这样做的原因之一是因为我经常将笔记本电脑连接到电视机并观看电影(我使用 VLC)。所以,大多数时候我想在不需要中断播放的情况下访问 VLC 的菜单。
即使我确实中断了播放,VLC 的播放列表也可以从主窗口中脱离,并成为一个单独的窗口。
所以我总是把播放列表放在笔记本电脑显示器上,把电影全屏放在电视显示器上。即使播放列表是活动窗口,由于 VLC 的主窗口在电视显示屏上,菜单也只会显示在电视显示屏上,而不会显示在笔记本电脑上。
我需要在每个第 1 个星期六和第 3 个星期六上午 8 点 30 分执行一个脚本。我是在 Linux 中使用 cron 作业的新手。请让我知道以下是否有效。
30 8 1-7,14-20 * * [ `date +\%u` = 6 ] && /path/to/myscript
Run Code Online (Sandbox Code Playgroud)
考虑到
cron 作业应该在每一天运行,如果不是星期六,则立即退出。
请指教。