与这个斗争并在谷歌上搜索它似乎并没有给我提供有效的解决方案。
我有一个名为...的文件夹
file å?? name.txt
Run Code Online (Sandbox Code Playgroud)
例如,为了避免出现问题,我想重命名它,但是我正在努力弄清楚如何。我试过使用' ',我也试过\在每个特殊字符之前使用,例如,'file \å\?\? name \(2008\).txt'但我只是收到以下错误......
-bash: cd: file \å\?\? name \(2008\).txt : No such file or directory
Run Code Online (Sandbox Code Playgroud)
这是使用不当\还是我需要替代方法?
谢谢
标题说明了一切,是的,我知道有很多类似的问题,但我能找到的最接近的是删除“而不是 '。到目前为止我尝试过的是:
find -name "*'*" -type f | rename 's/\'//g'
Run Code Online (Sandbox Code Playgroud)
或rename 's/[']//g'和其他一些变化。我找到了所有文件,但是当我通过管道将它发送到 时rename,我只是得到>提示并且必须Ctrl+C才能返回。我最近用这个更改了很多文件,它对任何特殊字符都起到了很好的作用,除了单引号。
我发现了很多非常相似的问题,但不完全是这个。我有一个包含以下内容的文本文件(无重复,每行固定 4 个字符):
A1234
G1234
$1234
M1234
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 grep 搜索以字符 $char 开头的行,该行是通过使用 $char 定义搜索项输入的,并将其后面的四个数字分配给 $numbr。它看起来是这样的:
numbr=`grep ^"${char}" file.txt | cut -c 2,3,4,5`
Run Code Online (Sandbox Code Playgroud)
这适用于我需要的任何字符,但美元符号除外,美元符号会使 $numbr 为空。
输入字符 $char 预先定义如下,如果有帮助的话:
char="`dd if=text.txt ibs=1 skip=$skipcount count=1`"
Run Code Online (Sandbox Code Playgroud)
($skipcount 是一个整数)
我尝试了使用和不使用 -E 标志,以及我能找到的转义 $char 值的各种方法。我不需要专门使用 grep,到目前为止我只是使用它取得了最大的成功。
我已经坚持这个问题有一段时间了,所以任何帮助将不胜感激。如果我成功复制了一篇文章,我深表歉意,感谢所有在这里做出贡献的人,我在一两分钟内找到了几乎所有问题的解决方案。
编辑:对我不小心删除了评论的人表示抱歉。要点是他建议回声和管道,类似这样的东西(我认为这是部分的,我需要填写其余的):
echo "${char}" | grep '^\$'
Run Code Online (Sandbox Code Playgroud)
不为我工作。我也不够清楚 - 在 .txt 中的每个字符串(例如 A1234)中,只有第一个字符被分配给 $char。$char 之后的 4 个数字是我需要分配给 $numbr 的内容,并且该字符串可以出现在 .txt 文件中的任何行。每行上不会有其他字节。
我想编写一个 bash 脚本,它接受包含特殊字符.、..和的一个或多个用法的文件规范作为输入参数~。我希望我的脚本的输出能够回显 Bash 对我的脚本的完整路径解释。
这是我尝试过的脚本:
a=$(ls -l -o -g "${1}" | cut --delimiter=' ' --fields=1-6 --complement -)
echo "\\"${a}\\""
Run Code Online (Sandbox Code Playgroud)
如果我发出命令:myscript ~/.local/../.profile
返回的结果是:/home/OldManK/.local/../.profile。但我想要:/home/OldManK/.profile。
另一个例子:myscript ~/./.profilereturn: /home/OldManK/./.profile,但是,我想要:/home/OldManK/.profile。
另一个(从 执行/home/OldManK/.local):myscript ../.profile返回:../.profile,但是,我想要:/home/OldManK/.profile。
请问还有其他方法吗?
有时,由于匆忙,可能会在命令行中输入错误的某些字符。如果命令很长,纠错可能会很麻烦(使用方向键)。所以问题是:如何尽快替换上一个命令中输入错误的字符?
我想知道是否有一种方法可以像在 Windows 中一样通过按Alt+来输入 @ 符号64。我同时使用西班牙语和英语键盘布局,因此我发现它很有用。
我正在尝试用 HTML 空间替换文本中的所有空格。
cat test.txt | sed -e 's/ / /g'
Run Code Online (Sandbox Code Playgroud)
但它返回没有 & 符号。
This nbsp;is nbsp;a nbsp;sample nbsp;text.
Run Code Online (Sandbox Code Playgroud)
我如何做到这一点?
由于某种原因,我的/etc/issue文件中的颜色转义字符不起作用。它们显示为文本:
这是文件的内容:
^[[1;31mUbuntu^[[0m
Run Code Online (Sandbox Code Playgroud)
它在登录提示中输出完全相同的内容:
^[[1;31mUbuntu^[[0m
Run Code Online (Sandbox Code Playgroud)
逃逸没有被正确识别,那么我该如何解决呢?
我需要能够使用美式键盘在 Ubuntu 20.04 中编写德语变音符号。发现了大量过时的文档,例如这个问题,我无法应用于 Ubuntu 20.04。
键盘偏好?那是哪里?在“设置”中,唯一与键盘相关的是“键盘快捷键”。
阅读“撰写键”,这应该可以解决问题。但文档已经很长时间没有更新了。如何在 Ubuntu 20.04 中激活它?
或者“撰写键”本身已经过时了?那么2020年德语变音符号的插入方式是什么呢?
special-characters keyboard character-set compose-key german
当我进入 /bin 目录并执行cat ls它时,它会弄乱整个终端的字符,甚至我的输入也会弄乱,我别无选择,只能重新启动终端。我只是在看一个教程,那个人正在这样做,但他的终端并没有变得时髦。我想知道为什么会发生这种情况,因为我已经在其他系统文件上使用了 cat 并且它没有脱离束缚。
我也使用过该clear命令,但它只是清除终端并且输入仍然很时髦。
当我使用以下命令在 Discord 中发送代码时:
\n```py\nprint("hello world!")\n```\nRun Code Online (Sandbox Code Playgroud)\n它出现在一个框中,代码突出显示,如下图所示。但是,当我使用 Unicode U+055d(亚美尼亚逗号)作为代码围栏 ( \xd5\x9d\xd5\x9d\xd5\x9d \xd5\x9d\xd5\x9d\xd5\x9d) 时:
\xd5\x9d\xd5\x9d\xd5\x9dpy\nprint("hello world!")\n\xd5\x9d\xd5\x9d\xd5\x9d\nRun Code Online (Sandbox Code Playgroud)\n并发送它,代码不会突出显示。正如您在图片中看到的那样,它也不会出现在框中。
\n\n