相关疑难解决方法(0)

如何在Bash中将字符串转换为小写?

有一种方法可以将字符串转换为小写字符串吗?

例如,如果我有:

a="Hi all"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

"hi all"
Run Code Online (Sandbox Code Playgroud)

string bash shell lowercase uppercase

1158
推荐指数
20
解决办法
83万
查看次数

我怎么能在python/nltk中使用完整的penn treebank数据集

我正在尝试学习在python中使用NLTK包.特别是,我需要在NLTK中使用penn树库数据集.据我所知,如果我打电话,nltk.download('treebank')我可以获得5%的数据集.但是,我在tar.gz文件中有一个完整的数据集,我想使用它.在 这里据说:

如果您可以访问Penn Treebank的完整安装,则可以将NLTK配置为加载它.下载ptb软件包,并在目录nltk_data/corpora/ptb中放置Treebank安装的BROWN和WSJ目录(符号链接也可以).然后使用ptb模块而不是treebank:

所以,我从终端打开了python,导入了nltk并输入了nltk.download('ptb').使用此命令,在我的~/nltk_data目录下创建了"ptb" 目录.最后,现在我有了~/nltk_data/ptb目录.在里面,正如我上面给出的链接所示,我已经放了我的数据集文件夹.所以这是我的最终目录层次结构.

    $: pwd
    $: ~/nltk_data/corpora/ptb/WSJ
    $: ls
    $:00  02  04  06  08  10  12  14  16  18  20  22  24
      01  03  05  07  09  11  13  15  17  19  21  23  merge.log
Run Code Online (Sandbox Code Playgroud)

在00到24之间的所有文件夹中,有许多 .mrg文件,例如wsj_0001.mrg , wsj_0002.mrg 等等.

现在,让我们回答我的问题.再次,根据这里:

如果我写下列内容,我应该能够获取文件ID:

>>> from nltk.corpus import ptb
>>> print(ptb.fileids()) # doctest: +SKIP
['BROWN/CF/CF01.MRG', 'BROWN/CF/CF02.MRG', 'BROWN/CF/CF03.MRG', 'BROWN/CF/CF04.MRG', ...]
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我输入时print(ptb.fileids())我得到了空数组.

>>> print(ptb.fileids()) …
Run Code Online (Sandbox Code Playgroud)

python nlp corpus nltk penn-treebank

7
推荐指数
1
解决办法
1993
查看次数

PHP:递归地将所有文件重命名为目录中的小写

我需要帮助.我想以递归方式将所有文件重命名为目录.我有一个代码来测试,但它只在该文件夹中重命名而不是递归.如何以递归方式完成它.

这是我使用的代码

<?php
 $directory="/data";
 $files = scandir($directory);
 foreach($files as $key=>$name){
    $oldName = $name;
    $newName = strtolower($name);
    rename("$directory/$oldName","$directory/$newName");
  }
?>
Run Code Online (Sandbox Code Playgroud)

php lowercase

4
推荐指数
1
解决办法
4306
查看次数

UNIX将文件/目录重命名为大写

我试图用shell脚本将所有目录和文件重命名为大写.我有什么工作,但不适用于子目录.由于目录名在脚本执行期间发生了变化,我得到了类似的东西mv: cannot stat './def/two/three': No such file or directory

我尝试过使用-depthfind,所以它会从下往上重命名.但仍然遇到同样的问题.我虽然cut试图分开路径/并重命名,但我不知所措.

这就是我所拥有的:

for i in `find . -name "*[a-z]*"`
    do new_name=`echo $i | tr '[a-z]' '[A-Z]'`
    mv $i $new_name
done
Run Code Online (Sandbox Code Playgroud)

我希望任何方向,因为我觉得这应该是一项常见的任务,但未能找到一些谷歌搜索的工作解决方案.

请注意,我不能使用,rename因为我的发行版不支持.

shell

3
推荐指数
1
解决办法
4777
查看次数

Linux:如何将目录中的所有文件重命名为大写?

包括扩展。例如 file.txt --> FILE.TXT

如果有人能指出我的大致方向,那么我将不胜感激:)


这里只是一些随机文本,因为字符数对于 Stackoverflow 来说太低了......

linux shell awk rename sed

0
推荐指数
1
解决办法
6566
查看次数

标签 统计

shell ×3

lowercase ×2

awk ×1

bash ×1

corpus ×1

linux ×1

nlp ×1

nltk ×1

penn-treebank ×1

php ×1

python ×1

rename ×1

sed ×1

string ×1

uppercase ×1