我的另一个问题是如何操纵文本文件。
我加入了几个大文件。现在,我有新的大文件中的所有标题,并希望在文件中删除它们而不保存在新文件中。
我的文件以“;”分隔并且曾经被“;”
分开我在这里搜索并找到了一个oneliner:How to find lines matching a pattern and delete them?
我在我的cmd中尝试过(我正在运行Windows)并收到错误消息:
gawk:致命:无法打开源文件`inplace'进行阅读(没有这样的文件或目录)
我的代码行是:
gawk -i inplace "!/^Address (CO)/" filename.txt
我没有找到任何关于如何将它替换为Windows的内容,如果除了更改“to”之外还有一些特殊内容。 所有标题都包含第一栏中的“地址(CO)”作品。
我的输入示例:
地址(CO) - 客户 - 电话号码
Mainstreet 1 - Carl Monte - 123456
Mainstreet 2 - Anja Coleman - 407846
地址(CO) - 客户 - 电话号码
Mainstreet 10 - Sebastian Wol - 756189
Mainstreet 7 - Dennis Mann - 694311
地址(CO) - 客户 - 电话号码
...
期望的输出:
地址(CO) - 客户 - 电话号码
Mainstreet 1 - Carl Monte - 123456
Mainstreet 2 - Anja Coleman - 407846
Mainstreet 10 - Sebastian Wol - 756189
Mainstreet 7 - Dennis Mann - 694311
...
所以“只是”删除包含“地址”但不包含第一个外观的行。
我也尝试过oneliner:
gawk "!/Address/" filename.txt > newfile.txt
但我的输出与我输入的内容相同。所以filename.txt == newfile.txt。它没有删除任何东西。
添加输出执行以下操作:
我正在使用
for /f "tokens=*" %%f in ('dir XLS\*.xls /s /b') do copy "%%f" ".\TXT\%%~nf.txt"
之后我使用powershellscript将制表分隔符换成分号:
for /f "delims=" %%i in ('dir TXT\*.txt /b /s') do powershell.exe -executionpolicy remotesigned -file %powershellscript% -path "%%i" -outPath "Output\%%~nxi"
现在我在一个文件夹中有几个带分号分隔符的txt文件。所有这些都有相同的标题。为了将没有标题的它们合并到一个“bigfile”中,我尝试了:
(for %%F in (Output\*.txt) do @more +1 "%%F") > output.txt
什么不起作用。我也试过了:
copy *.txt merged_tempfile.txt
gawk -F";" -v OFS=";" "$1 !~ /Address (CO)/ {print}" merged_tempfile.txt > bigfile.txt
什么不起作用...
当我尝试使用
gawk dos2unix file1
gawk "!/Address (CO)/" file1.txt > temp1.txt
我只在temp1中获得与file1中相同的内容,在最后一栏中使用此内容。
圀嘀圀娀娀娀䄀䄀娀䔀䐀㤀㌀㐀㬀攀ა甀瀀℀栀碗最栀㘀䔀䘀㬀䔀䰀㬀攀ა刀攀洀漀琀攀㬀䈀圀㔀㬀漀琀爀昀昀昀搀搀搀搀氀ააა㌀ഀഀ㌀ഀഀ㌀ഀഀ㌀ഀഀ㌀ഀഀ㌀ഀഀ㌀ഀഀ㌀ഀഀ