我运行的是 Ubuntu v14.04,经过一番努力,我已经成功安装了 Ubuntu SDK。
我需要使用 Perl + QML/Qt 通过 Ubuntu SDK 开发(可能大量)功能齐全的应用程序,然后可以在桌面 Ubuntu 和 Ubuntu 手机平台上“融合”运行。Perl 的 Qt 绑定已经过时,但我愿意自己重新实现更新的 Qt 绑定,以便在 Perl 在正常解释模式下运行时使用。
https://metacpan.org/pod/QtCore4
此外,我将使用新的 Perl 编译器(我是作者),因此我们可以生成直接调用 Qt 的 C++ 输出代码,以便在 Perl 以 Perl 编译模式运行时使用。
显然,如果我们在普通解释模式和 RPerl 编译模式下使用 Perl,Qt 的接口是不同的,尽管从 Perl 方面来看,这两种模式都被认为是有效的,并且应该(大部分)技术上是等效的,只要我做得好实现更新的 Qt 绑定的工作。
相关地,我知道 Ubuntu SDK 强烈支持 C++,并且 Python 也(至少部分)受支持,但我似乎找不到关于使用 C++ 或 Python 构建 Ubuntu SDK 应用程序的任何好的教程。由于 Python 类似于 Perl 解释模式,而 C++ 类似于 Perl 编译模式,我希望能找到一些有用的例子,但到目前为止还没有运气......
所以,我的三个相互关联的问题是:
如何使用我要创建的 Qt 绑定启用对解释性 Perl 的支持,以便在 Ubuntu SDK 中构建应用程序时用作“逻辑”语言?
如何启用对已编译的 Perl 的支持,该 …
根据grep --help和man grep,我们可以使用该-P选项将模式解释为 Perl 正则表达式(准确地说是 PCRE),而不是默认的POSIX 基本正则表达式(BRE)。
在 Perl 语言中,可以在表达式中添加各种修饰符,以调整模式解释(在 的语法中/pattern/modifiers)。
那么,如何为 grep 的 Perl 正则表达式添加修饰符呢?我尝试了一些变体,grep -P "/^got.it$/ms" [FILE]但搜索结果是错误的。
但是,关于PCRE的解释,手册指出:
这是高度实验性的,grep -P可能会警告未实现的功能。
grep 工具是否可能根本不支持修饰符?
顺便说一句,我注意到可以通过使用-i选项来执行不区分大小写的模式匹配,这是一个修饰符的例子。
在干净的 Ubuntu Server 安装之后,我在运行“perl”时收到以下错误。
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_CA.utf8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Run Code Online (Sandbox Code Playgroud)
我应该在哪里设置我的语言环境、系统范围和用户特定的?如果有一个命令行实用程序可以做到这一点,我宁愿使用它而不是手动编辑配置文件。
Perl 包是/usr/bin旧版本 (5.12.4)。当前的稳定版本似乎是 5.14.2。
我如何更新这个版本?需要 root 访问权限,我不想编译新的二进制文件以安装在我路径中的目录中。
猫文件1
foo
ice
two
Run Code Online (Sandbox Code Playgroud)
猫文件2
bar
cream
hundred
Run Code Online (Sandbox Code Playgroud)
期望的输出:
foobar
icecream
twohundred
Run Code Online (Sandbox Code Playgroud)
在我的场景中,file1 和 file2 将始终具有相同数量的行,以防事情变得更容易。
从 Ubuntu 14.04 开始,至少有三个rename命令:
rename由util-linux包提供,参见man rename.ulrename由perl包提供,见man prenamerename由rename包提供,参见man file-rename问题:
perl包包含“完整”rename命令或根本不包含任何rename命令不是很简单吗?为什么这种看似不完整的分裂至少持续到 Ubuntu 17.04?这个问题已经在 U&L 上问过了(我后来发现了):
所有重命名有什么用:prename、rename、file-rename?
我正在尝试通过安装ack,apt但它似乎在 repos 中不再可用。两个都:
sudo apt install ack
sudo apt install ack-grep
Run Code Online (Sandbox Code Playgroud)
给出以下错误:
E: Package 'ack-grep' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
它在 17.10 存储库中不再可用吗?
我的filename文件内容如下(例如):
My block of line starts from here
START
First line
second line
third line
END
and end to here for example.
Run Code Online (Sandbox Code Playgroud)
我想,以取代之间的行块START,并END只用一个词,例如用SINGLEWORD。像下面这样:
My block of line starts from here
SINGLEWORD
and end to here for example.
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令找到我的行块:
grep -Pzo "START(.|\n)*END" filename
Run Code Online (Sandbox Code Playgroud)
运行上述命令的结果将是这样的:
START
First line
second line
third line
END
Run Code Online (Sandbox Code Playgroud)
然后我使用此命令将所有行合并为一行:
LAST_RESULT | sed -e :a -e '/$/N; s/\n/ /; ta'
Run Code Online (Sandbox Code Playgroud)
然后我会得到这个结果:
START First line second line third line END
Run Code Online (Sandbox Code Playgroud)
通过我的最后一个命令, …
我在 Ubuntu 14.04 上使用 GDM 中的旧式 GNOME 设置。(我不喜欢新的 Unity 界面。)有没有办法创建一个命令,我可以在终端窗口中键入该命令以将其最小化?min当我专注于其他事情时,简单地输入并且终端提示最小化会非常棒。
如何asciiquarium在 Ubuntu 中安装和运行?看起来有点复杂,我不知道如何编译源代码。