我正在尝试获取 ls 命令的输出并在该列表中搜索正则表达式...实际上,它将在文件夹中的每个文件名中搜索正则表达式。我整理了一个简单的例子来说明我认为正确的方法,但显然不是:
$ ls ~/桌面/testFolder | grep -rn“内容”
我知道,我可以为此编写一个脚本,将“ls”的输出通过管道传输到文本文件,然后 grep ......但我问如何在没有多步骤过程或脚本的情况下执行此操作。
我在我的一个冗长的 shell 脚本中使用 GNU 对话框。我遇到的问题之一是当我要求一个输入框时,用户可以在其中输入一本书的标题(主要是法语)。
\n\n在此输入框中,输入重音字符(\xc3\xa9\xc3\xa0\xc3\xa8 在法语中很常见)或特殊的 UTF-8 字符(例如破折号“\xe2\x80\x94”)会移动光标右边有 4 个字符,而不是 1 个。在 3 或 4 个“特殊”字符之后,输入框由于此工件而完全无法使用。
\n\n同样,当我显示带有对话框的菜单时,重音字符会移动对话框的右边框。这比输入框中的障碍要小,但视觉上却很不舒服。
\n\n我已经尝试了各种方法来使其正常工作,但无济于事。
\n\n作为记录,这是我的 LC_* 环境变量:
\n\nLC_PAPER=fr_FR.UTF-8\nLC_ADDRESS=fr_FR.UTF-8\nLC_MONETARY=fr_FR.UTF-8\nLC_NUMERIC=fr_FR.UTF-8\nLC_ALL=fr_FR.UTF-8\nLC_TELEPHONE=fr_FR.UTF-8\nLC_MESSAGES=fr_FR.UTF-8\nLC_IDENTIFICATION=fr_FR.UTF-8\nLC_COLLATE=fr_FR.UTF-8\nLC_MEASUREMENT=fr_FR.UTF-8\nLC_CTYPE=fr_FR.UTF-8\nLC_TIME=fr_FR.UTF-8\nLC_NAME=fr_FR.UTF-8\nLANG=fr_FR.UTF-8\nRun Code Online (Sandbox Code Playgroud)\n\n我能做什么?
\n\n(编辑:如下所述,我使用的是 Mac,无论我使用 iTerm2 还是内置终端模拟器,都会出现同样的问题。)
\n我正在尝试从终端禁用访客帐户。
\n\n我需要相同的效果,例如禁用System Preferences \xe2\x86\x92 Accounts \xe2\x86\x92 Guest Account \xe2\x86\x92 Allow guests to connect to Sharedfolders。
\n\n我认为来宾访问在 Lion 上默认被禁用,所以我需要它用于 10.5 和 10.6。
\n我在文本文件中有一个目录列表,每个目录都需要删除。我如何将该列表读入命令(rm -r或rmdir)?
我想比较两个文件并忽略一个文件中存在但另一个文件中缺失的行。
例如
文件1:
foo
bar
baz
bat
Run Code Online (Sandbox Code Playgroud)
文件2:
foo
ball
bat
Run Code Online (Sandbox Code Playgroud)
我当前正在运行以下 diff 命令
diff File1 File2 --changed-group-format='%>' --unchanged-group-format=''
Run Code Online (Sandbox Code Playgroud)
在这种情况下会产生
bar
baz
Run Code Online (Sandbox Code Playgroud)
作为输出,即仅缺少或冲突的行。我只想打印冲突的行,即忽略 File2 中缺少一行而 File1 中存在一行的情况(而不是相反)。有什么方法可以使用 diff 来做这样的事情还是我必须求助于其他工具?如果是这样,你会推荐什么?
当我开始进入不同的文件夹时,路径已在我的命令行中注册,但我不知道如何删除它。我几乎可以肯定我的问题不清楚。一个例子总是更好。到家后:
luiz@feynman:~$ cd Music/
luiz@feynman:~/Music$ cd Beatles/
luiz@feynman:~/Music/Beatles$ cd 17\ Love/
Run Code Online (Sandbox Code Playgroud)
让我烦恼的是:~/Music 或~/Music/Beatles在$之前。这似乎是一个愚蠢的问题,但当我需要进入许多文件夹时确实是一个大问题。我想我应该更改 .bashrc 中的某些内容,但我不知道是什么。
谢谢
我有一个.plist结构如下的文件:
<plist version="1.0">
<array>
<dict>
<key>BundleIsVersionChecked</key>
<false/>
<key>BundleIsRelocatable</key>
<false/>
<key>BundleHasStrictIdentifier</key>
<false/>
<key>RootRelativeBundlePath</key>
<string>value</string>
</dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)
RootRelativeBundlePath我想使用命令添加或编辑-key defaults write。另一种可能性是编写整个 plist 文件,但它必须具有相同的精确结构。
我怎样才能做到这一点?
我想将Up/Down arrow keysbash 映射到,Alt+j/Alt+k因为当我选择以前使用 执行的命令时,我不想将手移到箭头键上Up/Down arrow keys。
在 bash 中使用 vi 模式不是一个选项,因为我不想Esc在使用 bash 时时不时地按一下。(因为我不习惯这样做)
我对此很陌生,如果它很明显,我很抱歉。我正在运行 Debian 服务器并在那里安装 UWSGI、Nginx 等。配置一直在谈论指向“套接字”。
在构建选项中,我似乎能够指定每个程序的套接字的位置。默认情况下,看起来大多数都进去了/tmp/(不是全部)。
这是他们去的好地方吗?我试图让事情尽可能有条理,但只是将它们塞在我的 tmp 目录中似乎不是最好的选择。
我有 bash 脚本test.sh,它没有什么特别的:
#!/bin/bash
echo Hello!
Run Code Online (Sandbox Code Playgroud)
如果我像这样运行它. test.sh,它就会起作用。
kopparberg:dev marek$ . test.sh
Hello!
Run Code Online (Sandbox Code Playgroud)
如果我像这样运行它./test.sh,它不会。
kopparberg:dev marek$ ./test.sh
-bash: ./test.sh: /bin/bash^M: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有什么不同?