忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: rtzd

[文本处理] 怎样根据要求的文件名字,去替换不同的子文件夹里面的文档的名字? [复制链接]

论坛徽章:
0
发表于 2018-07-11 22:35 |显示全部楼层
powershell支持win,linux回车。无需转换。

论坛徽章:
33
双子座
日期:2014-08-06 17:37:1915-16赛季CBA联赛之深圳
日期:2016-10-22 10:02:5215-16赛季CBA联赛之辽宁
日期:2016-11-09 14:04:45黑曼巴
日期:2016-11-23 11:16:52极客徽章
日期:2016-12-07 14:03:402017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之新疆
日期:2017-03-24 16:36:1915-16赛季CBA联赛之江苏
日期:2017-04-26 17:19:08黑曼巴
日期:2018-03-07 18:56:5615-16赛季CBA联赛之八一
日期:2018-03-09 10:44:1015-16赛季CBA联赛之江苏
日期:2018-03-12 15:12:19
发表于 2018-07-11 22:50 |显示全部楼层
回复 30# rtzd

  1. done<i.txt
复制代码

论坛徽章:
0
发表于 2018-07-12 06:23 |显示全部楼层
本帖最后由 rtzd 于 2018-07-12 06:27 编辑



回复 7# Herowinter

你的7楼的代码:
1、必须要求  test.sh   的状态是unix      自备文档 i 的格式可以是dos
2、运行后,自备文档 i 里面,可以有纯数字、也可以有纯数字字母.()组成,但,绝对不能出现汉字
3、当运行输出替换正确,新替换名字里面,最末尾出现一个空格


回复 9# wh7211

你的9楼的代码:
同上面说的,文档格式分别unix  dos 实验多次
只是在 自备文档 1  的时候,分别 1  或  1.txt  试了两次
结果:(当然,已经cd a      /bin/a )
文档1状态:
awk: 命令行:1: 致命错误:无法以读模式打开文件“i”(No such file or directory)

文档1.txt状态:
mv: 无法获取'a1/6.txt' 的文件状态(stat): No such file or directory
mv: 无法获取'a2/31.txt' 的文件状态(stat): No such file or directory
mv: 无法获取'a3/435.txt' 的文件状态(stat): No such file or directory

结论:无法替换文件名字

这里与上面所说的无关,提醒下,我的子文件夹的名字,是随机的汉字。但,我测试时是按照a1  a2  a3  这样进行的


回复 4# o枫叶o飘零

你的4楼的代码

我不会用。按你说的办法,也没有输出。

但,你的这个提醒很重要,厉害 。就是 done<i.txt


回复 14# 本友会机友会摄友会

实在是不会,见谅下

你的第三步到第四步:

我打开cmd.exe  然后输入 powershell.exe 后,跳转进入到 PS
此时再输入你的 -ExecutionPolicy Unrestricted -file d:\a.ps1
出现如下:

一元运算符“-”后缺少表达式。
所在位置 行:1 字符:2
+-<<<<ExecutionPolicy Unrestricted-file d:a.psl

+CategoryInfo  :ParserError:(-:String)[].ParentGontainsErrarR
ecordException
+FullyQualif iedErrorld  :  Miss ingExpressionlfterOperator








论坛徽章:
0
发表于 2018-07-12 08:08 |显示全部楼层


烦请大佬们继续授课






论坛徽章:
16
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:0915-16赛季CBA联赛之八一
日期:2018-07-03 16:56:4615-16赛季CBA联赛之深圳
日期:2018-06-15 14:59:3715-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59CU十四周年纪念徽章
日期:2018-05-15 11:36:3815-16赛季CBA联赛之广东
日期:2018-05-14 09:52:4215-16赛季CBA联赛之深圳
日期:2018-05-04 21:53:0815-16赛季CBA联赛之辽宁
日期:2018-04-02 14:03:3915-16赛季CBA联赛之北京
日期:2018-03-23 15:24:07
发表于 2018-07-12 10:07 |显示全部楼层
回复 33# rtzd

你是在windows下运行脚本?9楼代码运行环境是 centos6.x + zsh

论坛徽章:
0
发表于 2018-07-12 10:21 |显示全部楼层
本帖最后由 rtzd 于 2018-07-12 10:39 编辑

回复 35# wh7211


看20楼的截图

应该能看明白

cd  a     后,再运行你的awk





论坛徽章:
0
发表于 2018-07-12 12:13 |显示全部楼层
我打开cmd.exe , 然后应该输入:
powershell.exe -ExecutionPolicy Unrestricted -file 'd:\a.ps1'

论坛徽章:
0
发表于 2018-07-12 13:18 |显示全部楼层
回复 37# 本友会机友会摄友会

打开cmd  ,又实验了管理员身份。后,均一样
在里面直接输入  powershell.exe  -ExecutionPolicy Unrestricted -file d:\a.ps1

结果如图


不行




6.jpg

论坛徽章:
0
发表于 2018-07-12 13:21 |显示全部楼层


最理想的是7楼

但,不支持汉字




论坛徽章:
0
发表于 2018-07-12 21:37 |显示全部楼层
win10没有这个问题,现在办法有3
==================================
1把你的文件复制到usb,找一台win10电脑
==================================
2在linux中,安装并使用powershell。
安装方法:
问:目前哪些版本linux能安装上powershell?
答:
◦Windows 10 IoT Core(arm32的cpu,本质上是win,树莓派硬件上的win10)
◦Raspbian Stretch(arm32的cpu,树莓派官方操作系统Raspbian,基于大便,所以叫树莓便。)
◦MAC OS X 10.11
◦Ubuntu 14.04/16.04/17.10/18.04
◦Debian8.x/9.x
◦CentOS 7.x/RHEL 7.x/Fedora25/Fedora26/Fedora27
◦open SUSE 42及以上/SUSE Linux Enterprise Server 12 SP2
◦Docker。LINUX发行版中,安装容器dockerd,docker中运行powershell。
◦Arch Linux (archl inux 没有版本号)
◦Linux AppImage 容器(portable application single binary)  https://github.com/probonopd/AppImageKit
◦Kali Linux

安装方法:
https://docs.microsoft.com/zh-cn ... x?view=powershell-6

centos7及以上)
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
sudo yum install -y powershell
pwsh -c 'install-module psreadline -AllowPrerelease -Force'
mkdir "$env:HOME/.config/powershell"
Add-Content  -Value 'Set-PSReadlineOption -EditMode Windows' -LiteralPath $profile


ubuntu1604:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/microsoft.list
sudo apt-get update
sudo apt-get install -y powershell
pwsh
===========================================
3在win7中安装并使用powershell。
加入群,进入群文件共享,进入win7安装powershell。
下载1234开头的文件。
这些文件是:
1_Windows6.1-KB4019990-x64.msu
2_NDP472-KB4054530-x86-x64-AllOS-ENU.exe
3_NDP472-KB4054530-x86-x64-AllOS-CHS.exe
4_Win7AndW2K8R2-KB3191566-x64.msu

一 需要开启windows update服务。如果不想更新其他系统补丁,可以先拔掉网线,再开启windows update服务。

二 需要卸载powershell3.0。卸载已经安装的任何beta版powershell。

三 powershell5.1和powershell6.0可以并存。

四按照顺序安装1,2,3,4打头的软件。安装完后,运行【开启脚本运行权限.bat】。

五 1是一个补丁。安装1的目的是为了能安装2。假如无法安装1,可以跳过,直接装2,3,4试试。

六 2是.net framework的安装包,安装2之后,如果要求重启,就重启。3是.net的简体中文语言包。4是powershell5.1。

七 1,2,3,4都有微软的签名。无病毒,放心使用。


pwershell交流群出品
群号=183173532



您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP