2

我想将此 bash 命令存储在字符串变量中:

查找 /Users/memmaker6501/Desktop/ -name "*\[*\]*" -type d >> busqueda.txt

但是我得到了一个序列错误\]

有一种方法可以存储\]在字符串中?

4

3 回答 3

4

\在您的特殊字符之前放置一个。像这样"find /Users/memmaker6501/Desktop/ -name \"*\\[*\\]*\" -type d >> busqueda.txt"

于 2013-07-27T16:17:20.550 回答
4

反斜杠和双引号应该用反斜杠转义,如下所示:

"find /Users/memmaker6501/Desktop/ -name \"*\\[*\\]*\" -type d >> busqueda.txt"

C++ 字符串中的转义序列

Escape
sequence    Description                     Representation

\'          single quote                    byte 0x27
\"          double quote                    byte 0x22
\?          question mark                   byte 0x3f
\\          backslash                       byte 0x5c
\0          null character                  byte 0x00
\a          audible bell                    byte 0x07
\b          backspace                       byte 0x08
\f          form feed - new page            byte 0x0c
\n          line feed - new line            byte 0x0a
\r          carriage return                 byte 0x0d
\t          horizontal tab                  byte 0x09
\v          vertical tab                    byte 0x0b
\nnn        arbitrary octal value           byte nnn
\xnn        arbitrary hexadecimal value     byte nn
\unnnn      arbitrary Unicode value.        code point U+nnnn
\Unnnnnnnn  arbitrary Unicode value.        code point U+nnnnnnnn
于 2013-07-27T16:18:31.130 回答
3

C++11 具有原始字符串文字,可简化创建复杂字符串表达式的过程。

R"***(find /Users/memmaker6501/Desktop/ -name "*\[*\]*" -type d >> busqueda.txt)***"
于 2013-07-27T16:42:43.167 回答