首先:虽然我可以理解 LC_TIME、LC_NUMERIC 和大多数其他 LC_* 变量的地理区域细节的相关性,但我不太明白“en_AU”与 LC_CTYPE 的关系......
不是 UTF-8(和其他编码)本身有足够的定义(对于 LC_CTYPE),因为定义的编码是一致的?...
关于它,因为我写的思考,它可能是世界上不同地区利用自己的小写字母不同......如果是这样的情况下,如何iconv处理呢?..
这iconv点其实就是在这条线的开始我想,因为它不要求语言环境,它只要求输入编码格式。
我的下一个难题是:输出中的行项目locale LC_CTYPE指的是什么,和/或哪里是获取布局的好地方...也许更相关的问题是:此信息由谁和何处提供需要吗?..
我很确定我不需要它……但这有助于填写“脚本”、“编码”和“语言环境”的图片;一旦您离开ASCII 世界,这令人惊讶地非平凡。
是否有命令行选项的组合ps或pgrep或其他一些比较直接的方法来确定特定的进程名是实际运行(可正常使用)..
通过“运行”,我的意思是专门排除<defunct>正在运行的进程或任何其他非运行进程(例如僵尸:)...
此示例脚本显示了一个<defunct>项目示例:
#!/bin/bash ubuntu 10.04
pgrep ^gnuserv$
# 25591
# 25599
# 27330
ps $(pgrep ^gnuserv$) # command ammended as per pilcrow's good suggestion
# PID TTY STAT TIME COMMAND
# 25591 ? Zs 0:00 [gnuserv] <defunct>
# 25599 ? Zs 0:00 [gnuserv] <defunct>
# 27330 pts/2 S+ 0:00 gnuserv
Run Code Online (Sandbox Code Playgroud)
我可以进一步sed输出,但我认为/希望有更直接的方法......
我想在它自己的X终端(窗口)中运行streamripper,然后水平拆分终端,然后在下半部分运行mplayer。
这很简单,可以手动完成,但让我无法获得脚本来完成它。
streamripper http://radio.net:8000 -r 8000mplayer http://localhost:8000mplayer不能立即运行。它需要等待流数据,因此对此进行测试会比“等待 x 秒”(这实际上是手动方法所做的)更好。
如果终端对此很重要,什么都可以做,但我目前已经安装了 konsole、gnome-terminal 和 terminator(在 Ubuntu 中)
当我在 emacs 中使用hexl-mode时,它会丢弃缓冲区的撤消信息。
有没有另一种方法可以对缓冲区进行十六进制编辑并保留撤消信息?
如果没有替代的十六进制编辑器,是否有可以查看缓冲区的十六进制查看器?我试过hexview-mode,但它没有查看实际的缓冲区;它查看缓冲区的文件(从磁盘),所以我看不到当前的编辑。
我的问题就像zenity --text示例中的args 所说的一样简单……但是是什么导致了重定向对 CPU 的 100% 占用?
...(顺便说一句,这种特殊的用法是<实际调用的redirection。它似乎是在创建一个方向,而不是重新定向)。
echo "Peacocks talking of the colour grey."> test
cat test | zenity --text='This does NOT hog the CPU' --list --column='#' --width=450
<test zenity --text='This hogs 100% of CPU usage' --list --column='#' --width=450
Run Code Online (Sandbox Code Playgroud)
我很高兴使用cat test |(因为在这种情况下它并不是没用;它可以工作并且 < 并且|在某种程度上有所不同,但我无法再次追踪它......
需要明确的是:<test和cat test |两个工作。在这两种情况下,zenity 对话框都会出现并且功能齐全,但是只要<test对话框的版本保持打开状态,它就会使用 100% CPU(一个核心)......在单个“核心”VM 上使用 94%。 .
在 GNU Emacs GUI 中打开文件时,我使用gnuserv附加到已经运行的 emacs。我使用 'gnuserv' 只是因为我阅读的关于该主题的第一个文档建议了它。
今天我正在寻找一种在特定行号处打开文件的方法,并找到了使用emacsclient -c +4:3 FILE 的参考......当我运行命令时,它抱怨需要启动服务器.. .
gnuserv正在运行,所以 gnuserv 和 emacsclient 显然不是互补组件..
这两个客户端-服务器系统之间是什么关系?
例如。它们可以共存吗?.. 是否还有一个“最新的”?... 一个仅用于终端吗?.. 它们执行类似的功能吗?..
编辑:由于沃伦·杨的评论,这让我意识到我在一个非常相关的问题上不清楚。我的搜索字符串已经是 UTF-16LE 顺序(不是 Unicode Codepoint 顺序,即 UTF-16BE),所以也许 Unicode 问题有点没有实际意义,
也许我的问题是我如何 grep 以2 字节为一组的字节(不是字符),即。这样 UTF-16LE\x09\x0A就不会被视为 TAB、换行符,而是被视为 2 个字节,而碰巧是 UTF-16LE ??... 注意:我不需要关心 UTF-16 代理对,所以 2 字节块就可以了。
以下是此 3 字符字符串的示例模式???:
\x09\x0A\x09\x2A\x09\x30
但它什么都不返回,尽管字符串在文件中。
(这里是原帖)
在搜索具有\x00\x01\x...etc格式模式的 UTF-16LE 文件时,我遇到了某些值的问题。我一直在使用sed(并尝试过grep),但是在 UTF-8 语言环境中,他们将某些 UTF-16LE 值识别为 ASCII 字符。我被锁定在使用 UTF-16,因此重新编码为 UTF-8 不是一种选择。
例如。在此文本?(UNICODE 090A) 中,虽然它是单个字符,但?被视为两个 ASCII 字符\x09和\x0A.
grep有一个-P(perl) 选项可以搜索\x00\x...模式,但我得到了相同的 ASCII 解释。
是否有某种方法可以用于 …
我注意到一些awk使用1而不是print打印的示例$0(例如。为了节省空间,我通常使用 '1'。在本网站上)。
这是记录在案/安全的做法,还是在某些版本中会受到破坏?过去、现在还是未来?
这里有些例子:
echo 'a-does-print-$0' | awk '"x"'
echo 'b-does-print-$0' | awk '$0'
echo 'c-does-print-$0' | awk '1'
echo 'd-does-print-$0' | awk '(1-2)'
echo 'd-does-print-$0' | awk '{$0="abc"}1'
echo 'nothing-prints' | awk '{$0="abc"}'
echo 'nothing-prints' | awk '$999'
echo 'nothing-prints' | awk '(1-1)'
echo 'nothing-prints' | awk '1-1'
echo 'nothing-prints' | awk '0'
echo 'nothing-prints' | awk 'unsetVar'
echo 'nothing-printw' | awk ''
echo 'crashes' | awk '-3.14159'
echo …Run Code Online (Sandbox Code Playgroud) 我必须遵循示例输出:
<HARDWARE>
<NAME>WIN1</NAME>
<OS>Windows 7</OS>
<IP>1.2.3.4</IP>
<DOMAIN>contoso.com</DOMAIN>
</HARDWARE>
<HARDWARE>
<NAME>WIN2</NAME>
<OS>Windows 8</OS>
<IP>10.20.30.40</IP>
<DOMAIN>contoso.com</DOMAIN>
</HARDWARE>
Run Code Online (Sandbox Code Playgroud)
解析它的最佳方法是什么,它看起来像:
WIN1 Windows 7 1.2.3.4 contoso.com
WIN2 Windows 8 10.20.30.40 contoso.com
Run Code Online (Sandbox Code Playgroud)
寻找使用标准工具(如 awk、sed 等)的解决方案