问题标签 [tr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1787 浏览

bash - 在bash中将函数参数从大写转换为小写

当我不小心打开大写锁定并尝试运行一些区分大小写的工具时,我正在尝试制作一个方便的功能来解决问题。

例如,我偶尔会发现自己在打字MAKE DEBUG而不是make debug.

我现在所拥有的非常简单:alias MAKE="make"编辑生成文件以复制规则,例如DEBUG: debug.

我更喜欢一种适用于论点的解决方案,而无需修改所涉及的工具。

0 投票
2 回答
523 浏览

sed - 将不以特定正则表达式开头的行添加到上一行

短信;投递;"+99999999999";"";"";"2012.06.23 09:21";"";"xxxxxxxxxxxx xxxxxxxx,
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx"

我需要任何不以“sms;deliver;”开头的行 被添加到上一行。即得到这样一条线:

短信;投递;"+99999999999";"";"";"2012.06.23 09:21";"";"xxxxxxxxxxxx xxxxxxxx, xxxxxxxxxxxx xxxxxxxxxxxx xxxxxxxxxxxx"

^ 那是一行。此外,删除/替换 xxxxx(content) 部分中的任何双引号也会很有帮助。

短信;发送;“+99999999999”;“”;“”;“2012.06.23 09:21”;“”;“xxxxxxxxxxxxxxx xxxxxxxx, xxxxxxxxxxxx xxxxxxxxxxxx”xxxxxx“xxxxxxxx”

所以上面的行会被转换成这个(双引号转换成单引号):

短信;发送;"+99999999999";"";"";"2012.06.23 09:21";"";"xxxxxxxxxxxxxxx xxxxxxxx, xxxxxxxxxxxx xxxxxxxxxxxx 'xxxx'xxxxxxxx"

0 投票
2 回答
4036 浏览

linux - 如何使用 Bash 中的 iconv 递归重命名文件和文件夹

我一直在尝试使用 iconv 递归重命名文件和文件夹,但没有成功,文件已正确重命名,但文件夹没有。

我用于文件的是(完美):

我对文件和文件夹的尝试(失败:仅重命名文件夹):

原始问题:我只想批量重命名很多文件以使它们“对网络友好”,比如删除空格、奇怪的字符等,目前我有

有什么办法可以一次性完成上面的 tr 和 iconv 操作吗?因为我正在谈论大约 300,000 个要重命名的文件,所以如果可能的话,我想避免第二次搜索。

如果需要,我正在使用 Bash 4.2.24

提前致谢。

0 投票
5 回答
612 浏览

string - 删除字符串中包含正斜杠的部分

我很困惑如何删除其中包含正斜杠和问号的字符串的一部分。

例子:/diag/PeerManager/list?deviceid=RXMWANT8WFYJNF7K6DXXXJLJVN

我需要输出RXMWANT8WFYJNF7K6DXXXJLJVN

我已经尝试过trsedtr删除了输出中我需要的一些字符。sed由于正斜杠,给我带来了麻烦。

/diag/PeerManager/list?deviceid=删除字符串部分的快速方法是什么?谢谢!

0 投票
1 回答
747 浏览

bash - tr 命令在 cygwin bash.exe shell 中导致问题,但在 mintty.exe 中有效

我将 Windows 与 cygwin 一起使用。以下命令应输出字符串“./bootstrp3.cab”中“/”的出现次数。当我使用 mintty.exe shell 并输出“1”时它可以工作:

不幸的是,它使用 bash.exe shell 输出以下消息

看起来这两个 shell 的行为不同,但它们似乎都是同一种 shell,因为当 I 时echo $0, bash.exe 输出bash和 mintty.exe 输出-bash

我还尝试了使用 bourne shell (sh.exe) 的命令,但它输出的消息与使用 bash.exe shell 的消息相同。

有谁知道我如何让命令与 sh.exe 或 bash.exe shell 一起工作?有人知道为什么两个 bash shell 的行为不同吗?

0 投票
6 回答
528 浏览

bash - 如何将“abcd efgh”拆分为“abcd”和“efgh”?

这真的不言自明。我在 bash shell 中工作,我对 shell 脚本很陌生。我找到了很多关于使用的信息trsed但是到目前为止我发现的所有示例都删除了分隔符和新行。我真的想做相反的事情。我希望能够根据空白进行分离。我有一个像“abcd efgh”这样的字符串,我需要它是“abcd”“efgh”(全部不带引号,只是为了显示分组)。

我敢肯定这比我做的要简单得多,但我很困惑。

更新的问题:

我有一列已放入数组的 PID,但数组的每个元素都有列中的 pid。

柱子:

当我打印出整个数组时,所有不同的列都已添加,因此我拥有所有值,但是当我打印出数组的单个元素时,我得到如下信息:

这不是我想要的。我需要一个用于 1234 的元素和一个用于 5678 的单独元素。

到目前为止,这是我的代码:

样品输出:

我需要将每个 pid 分开,以便数组的每个元素都是一个 pid。因此,例如,“The 3rd pid is:”行需要看起来像

第 4 个元素是 4340

0 投票
2 回答
14541 浏览

unix - 如何通过管道输入另一个 UNIX 命令的结果

现在我正在使用另一个文本文件来存储一个 UNIX 命令的结果,然后使用该文件运行另一个命令,如下所示:

如何将这两者组合成一行,这样我就不必使用临时文件?以下不起作用:

我知道如何使用 && 但这仍然需要使用临时持有者文件。

可能重复:Bash:如何将一个命令的每个结果通过管道传输到另一个命令

0 投票
1 回答
2135 浏览

unix - Unix 命令 tr -c 用法

我无法理解 tr (Unix 命令)中的 -c 选项。

查看这种格式trtr [Options] set1 [set2]

我知道这-c是一个可用的[选项],tr这意味着“它需要 set1 的补码(也就是 set1 中没有的所有字符)。但是,有人可以举例说明如何使用此命令并解释其好处。

谢谢

0 投票
1 回答
1912 浏览

bash - tr -cd '[[:digit:]]' 只提供一位数字

此函数遍历destinationDirectory 中的文件夹名称,以查找文件名末尾的最高数值,增加该值,并将该值附加到folderNameWithoutNumber 的末尾。或者我认为会的。bash函数:

当此函数被调用前 10 次时,一切似乎都运行良好,因为我以 /path/to/backups/folderName_1、/path/to/backups/folderName_2、... 的形式创建了前十个备份/path/to/backups/folderName_10. 再次调用该函数时,不会创建 /path/to/backups/folderName_11。

我的第一个问题是为什么这不像我想象的那样工作(创建 folderName_11 并计数)?

我的第二个问题是如何格式化文件名以包含前面的零以使数字部分长 3 位(文件夹名称_001,文件夹名称_002)?

我的第三个也是最后一个问题,目标应该只包含同名文件夹的备份,因此组中的最后一个文件夹应该具有最新(最高)的编号。如果由于某种原因文件夹没有排序,可以做些什么来保证找到最高数字?

0 投票
2 回答
319 浏览

apache - 优化 sed/tr shell 脚本

sed我编写了一个脚本来自动将 ServerAlias 添加到 Apache 配置文件中,然后重新启动 Apache,对tr一般的 shell 脚本有相当的理解。这就是我想出的:

基本上我正在创建一个副本,用自身+新别名替换 ServerName 行,tr用于放入换行符和选项卡(sed这很奇怪?),覆盖旧配置文件,删除副本,然后重新启动 Apache。

如果你明白我的意思的话,它有效,但并不能真正让妈妈感到自豪。关于如何清理它的任何想法?