由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - Perl问题求助
相关主题
perl $_ questionhow to change to number in multiple strings of a file?
perl能不能一次把一个str中的a替换成x,b替换成y?gdb cann't display variable value
C 89的话,怎么方便的把一个文件的行重排scp 选择性的转移某些文件,怎么操作?
问一个C Shell的sed用法。Ubuntu 下 foreach(`ls -d xxx`) 不能work
问个awk查找字符串的问题如何在bash里backup所有checkout的文件?
请教高手一个奇怪的问题。有regex / apache rewrite rule 高手吗
perl 高手看过来请教怎样截取文本中的一段
python 一问想要系统的学习Linux的原理,有什么好推荐?
相关话题的讨论汇总
话题: variable话题: perl话题: file话题: array话题: lines
进入Linux版参与讨论
1 (共1页)
b****n
发帖数: 144
1
【 以下文字转载自 Programming 讨论区 】
发信人: barron (barron), 信区: Programming
标 题: Perl问题求助
发信站: BBS 未名空间站 (Wed Sep 22 15:09:54 2010, 美东)
我用perl写了一个读取1.7M txt文件到string array,然后进行一些字符串替换,再将
string array存入一个新的txt文件的小程序,可是新建的新文件没有多多少内容,siz
e却变成了8M,而且每行末尾有些乱码,做了dos2unix以后,乱码消失,size不变。。。
请问这个可能是什么问题,怎样才能保持文件的size不变? 谢谢!
d*******e
发帖数: 1649
2
you need show some codes at least...

siz

【在 b****n 的大作中提到】
: 【 以下文字转载自 Programming 讨论区 】
: 发信人: barron (barron), 信区: Programming
: 标 题: Perl问题求助
: 发信站: BBS 未名空间站 (Wed Sep 22 15:09:54 2010, 美东)
: 我用perl写了一个读取1.7M txt文件到string array,然后进行一些字符串替换,再将
: string array存入一个新的txt文件的小程序,可是新建的新文件没有多多少内容,siz
: e却变成了8M,而且每行末尾有些乱码,做了dos2unix以后,乱码消失,size不变。。。
: 请问这个可能是什么问题,怎样才能保持文件的size不变? 谢谢!

b****n
发帖数: 144
3
基本上就是一些字符串的replace,然后在原文件中的一行前面再加一行
$file = './test.xml';
open (FILE, "<$file") or die $!;
@lines = ;
# real change in lines
@variable_array;
# find lines has >***< pattern
$line =~ m/\>(\w+)\ $variable = $1.";";
push (@variable_array, $variable);
#remove "variable_" from the line
$lines[$line_number] =~ s/$orig/$repl/g;
# insert the variable array to the $lines[$var_first_line]
$variable_str;
foreach (@variable_array) {
$variable_str .= $_;
}
$variable_str = substr($variable_str, 0,-

【在 d*******e 的大作中提到】
: you need show some codes at least...
:
: siz

E*V
发帖数: 17544
4
I don't know perl
but `sed' could do this elegant ly

【在 b****n 的大作中提到】
: 基本上就是一些字符串的replace,然后在原文件中的一行前面再加一行
: $file = './test.xml';
: open (FILE, "<$file") or die $!;
: @lines = ;
: # real change in lines
: @variable_array;
: # find lines has >***< pattern
: $line =~ m/\>(\w+)\: $variable = $1.";";
: push (@variable_array, $variable);

j******y
发帖数: 700
5
perl -pi -e 's/OLD_STRING/NEW_STRING/g' file.txt
c****f
发帖数: 1102
6
sed -i 's/OLD/NEW/g' file.txt
m*********g
发帖数: 273
7
Is the text from windows or unix?
Look out for the new line character!!!
With so little information, I can not help much.
Also try to use strict every time you use Perl. Your Perl style can give
you a lot trouble if the program goes a little longer.
Personally, I don't like $_, @_. They make program so unreadable.

【在 b****n 的大作中提到】
: 基本上就是一些字符串的replace,然后在原文件中的一行前面再加一行
: $file = './test.xml';
: open (FILE, "<$file") or die $!;
: @lines = ;
: # real change in lines
: @variable_array;
: # find lines has >***< pattern
: $line =~ m/\>(\w+)\: $variable = $1.";";
: push (@variable_array, $variable);

B*********s
发帖数: 292
8
Use your perl script to process a 100byte file and check the result file.
1 (共1页)
进入Linux版参与讨论
相关主题
想要系统的学习Linux的原理,有什么好推荐?问个awk查找字符串的问题
如何指定QTreeWidgetItem中某个child的delegate?请教高手一个奇怪的问题。
如何实现这个想法,关于修改txt文件的perl 高手看过来
为什么我的python code总是显示Dpython 一问
perl $_ questionhow to change to number in multiple strings of a file?
perl能不能一次把一个str中的a替换成x,b替换成y?gdb cann't display variable value
C 89的话,怎么方便的把一个文件的行重排scp 选择性的转移某些文件,怎么操作?
问一个C Shell的sed用法。Ubuntu 下 foreach(`ls -d xxx`) 不能work
相关话题的讨论汇总
话题: variable话题: perl话题: file话题: array话题: lines