我有一个文件,其中用逗号分隔的数据是文件格式:
CREATE TABLE IF NOT EXISTS catalog(
catalogid SERIAL,
tablename TEXT,
title TEXT,
shortname TEXT,
dirname TEXT,
inherit_from INT
);
现在我想做的就是将这些数据转换为字符串,然后写入文件,并且新文件格式如下:
CREATE OR REPLACE FUNCTION generate_category_tree()
RETURNS jsonb AS $$
BEGIN
RETURN process_category_node(0);
END;
$$ LANGUAGE plpgsql;
我们如何在Perl中做到这一点
答案 0 :(得分:1)
我不知道“将数据转换为字符串”是什么意思,但是要删除换行符,您需要做的只是chomp
输入。
perl -pe 'chomp' input_file >output_file
如果您喜欢逗号后的空格,则可以使用简单的正则表达式替换。
perl -pe 's/\n/ /' input_file >output_file
要将上述任一方法作为较大脚本的一部分,只需将其明确地包装在循环中即可。
open(my $input, '<', 'input_filename');
open(my $output, '>', 'output_filename');
while (<$input>) {
s/\n/ /; # Or whatever work you want to do to each line of the file
print $output $_;
}
close $output;
close $input;