无法执行大型sed命令以删除多行

时间:2019-12-24 22:23:01

标签: shell sed

我希望删除52000行文档中的600条特定行。我在文本文件中有要删除的行数,而我正在使用的策略是遍历该文本文件以构造一个大型sed(BSD)脚本来执行任务。构建命令后,我得到一个文件 File "C:/Users/hatem/PycharmProjects/DW_Project/Project.py", line 311, in <module> target_gross = preprocessing_numerical_minmax(target_gross) File "C:/Users/hatem/PycharmProjects/DW_Project/Project.py", line 93, in preprocessing_numerical_minmax scaled_data = min_max_scaler.fit_transform(data) File "C:\Users\hatem\DW_Project\lib\site-packages\sklearn\base.py", line 571, in fit_transform return self.fit(X, **fit_params).transform(X) File "C:\Users\hatem\DW_Project\lib\site-packages\sklearn\preprocessing\_data.py", line 339, in fit return self.partial_fit(X, y) File "C:\Users\hatem\DW_Project\lib\site-packages\sklearn\preprocessing\_data.py", line 373, in partial_fit force_all_finite="allow-nan") File "C:\Users\hatem\DW_Project\lib\site-packages\sklearn\utils\validation.py", line 540, in check_array "if it contains a single sample.".format(array)) ValueError: Expected 2D array, got 1D array instead: array=[7.60505847e+08 3.09404152e+08 2.00074175e+08 ... 4.58400000e+03 1.04430000e+04 8.52220000e+04]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. ,它看起来像这样:

script.sh

当我尝试在我的56200行#!/bin/bash sed '43d;895d;899d;1304d;1492d;1679d;1894d;1920d;2323d;2640d;2968d;3093d;3278d;3612d;3621d;3718d;3756d;4423d;4615d;4616d;4617d;4618d;4619d;4620d;4621d;4622d;4623d;4625d;4626d;4627d;4628d;4629d;4630d;4631d;4632d;4716d;4853d;4883d;5066d;5129d;5862d;6036d;6193d;6320d;6346d;6928d;7365d;7422d;7472d;7547d;7696d;7921d;7964d;8066d;8118d;8468d;8943d;9020d;9206d;9261d;9284d;9373d;9731d;9771d;9844d;10023d;10154d;10183d;10216d;10292d;10349d;10404d;10414d;10690d;11214d;11283d;11292d;11295d;11440d;11649d;12111d;12116d;12117d;12118d;12119d;12120d;12123d;12124d;12125d;12127d;12128d;12129d;12130d;12131d;12165d;12192d;12260d;12379d;12385d;12718d;13139d;13389d;13392d;13421d;13567d;14000d;14114d;14154d;14193d;14357d;14358d;14359d;14361d;14362d;14363d;14661d;14662d;14663d;14664d;14665d;14667d;14737d;14740d;14748d;14867d;15158d;15282d;15453d;16192d;16237d;16254d;16371d;16397d;16770d;16830d;17283d;17363d;17384d;17716d;17998d;18077d;18426d;18488d;18610d;18611d;19523d;19744d;20244d;20387d;20595d;20656d;20903d;21139d;21164d;21167d;21235d;21238d;21921d;22291d;22381d;22805d;22865d;22866d;22868d;22869d;23007d;23008d;23023d;23045d;23047d;23068d;23072d;23533d;24005d;24009d;24149d;24151d;24152d;24153d;24154d;24155d;24217d;24547d;24550d;24576d;24624d;24637d;24682d;24727d;24742d;24808d;24822d;24923d;25088d;25122d;25157d;25308d;25375d;25461d;25534d;25661d;25748d;25751d;25753d;25756d;25774d;26216d;26233d;27008d;27227d;27307d;27667d;27900d;28064d;28073d;28195d;28784d;28921d;28970d;29011d;29337d;29338d;29339d;29340d;29341d;29342d;29343d;29344d;29345d;29346d;29347d;29348d;29349d;29350d;30044d;30210d;30219d;30255d;30256d;30321d;30351d;31234d;31291d;31319d;31374d;31474d;31479d;31585d;31778d;31832d;31847d;32545d;33067d;33096d;33267d;33475d;33480d;34284d;34325d;34345d;34492d;34497d;35065d;35993d;35998d;36004d;36005d;36006d;36007d;36023d;36069d;36100d;36221d;36240d;36263d;36286d;36586d;36588d;36594d;36616d;36738d;36840d;36841d;37036d;37050d;37206d;37588d;37992d;38007d;38463d;38556d;38563d;38569d;38723d;38724d;38725d;38726d;38727d;38758d;38770d;38772d;38773d;38796d;38923d;38950d;38978d;39225d;39600d;39601d;39927d;40101d;40328d;40386d;40435d;40515d;40760d;40950d;41150d;41274d;41405d;41409d;41515d;41591d;41660d;41751d;41953d;41958d;41961d;41963d;42006d;42057d;42061d;42062d;42064d;42111d;42401d;42697d;42715d;43057d;43351d;43401d;43811d;43937d;44079d;44094d;44147d;44157d;44262d;44264d;44457d;44760d;44761d;44762d;44763d;44764d;44765d;44767d;44768d;44770d;44771d;45321d;45558d;45863d;46002d;46324d;46473d;46477d;46598d;46599d;46600d;46785d;46833d;46947d;47009d;47197d;47401d;47564d;47815d;47822d;48072d;48104d;48546d;49074d;49093d;49103d;49360d;49380d;49441d;49495d;49496d;49500d;49503d;49512d;49523d;49748d;49945d;49989d;50061d;50342d;50971d;51190d;51191d;51192d;51193d;51194d;51259d;51262d;51268d;51279d;51280d;51282d;51290d;51291d;51347d;51450d;51935d;52040d;52053d;52162d;52305d;52313d;52632d;52659d;52660d;52664d;52800d;52951d;52977d;53209d;53213d;53356d;53641d;53979d;53980d;53981d;53982d;53983d;54391d;54481d;54493d;54523d;54533d;54547d;54568d;54573d;54576d;54853d;54860d;54862d;54948d;54970d;54980d;54981d;54982d;54983d;54984d;54985d;54986d;54987d;54988d;54989d;54990d;54991d;54993d;54994d;54995d;54996d;54997d;54998d;54999d;55000d;55001d;55003d;55022d;55179d;55208d;55211d;55259d;55278d;55284d;55333d;55334d;55339d;55362d;55363d;55448d;55450d;55519d;55524d;55525d;55526d;55566d;55606d;55607d;55608d;55609d;55610d;55611d;55612d;55613d;55614d;55615d;55616d;55617d;55618d;55619d;55620d;55621d;55622d;55623d;55624d;55625d;55626d;55627d;55628d;55629d;55630d;55631d;55632d;55633d;55634d;55635d;55636d;55637d;55638d;55639d;55671d;55850d;55851d;55853d;55858d;55860d;55869d;55871d;55877d;55967d;55969d;55981d;55983d;55988d;55995d;56009d;56016d;56017d;56028d;56031d;56035d;56036d;56040d;56041d;56042d;56044d;56046d;56048d;56049d;56050d;56051d;56053d;56055d;56056d;56057d;56059d;56060d;56061d;56071d;56077d;56078d;56082d;56083d;56084d;56085d;56088d;56090d;56102d;56112d;56116d;56117d;56118d;56121d;56122d;56123d;56124d;56125d;56127d;56129d;56132d;56133d;56143d;56144d;56146d;56156d;56157d;56158d;56159d;56160d;56161d;56162d;56163d;56164d;56165d' "$1" > temp && mv temp "$1" 上运行脚本时:

file

我一直收到以下错误:

./script.sh file

尝试复制粘贴并直接在命令提示符下执行命令会导致相同的错误。我在这里想念什么?

2 个答案:

答案 0 :(得分:2)

将命令放在文件中

43d
895d
899d
...

并使用sed -f file "$1"

答案 1 :(得分:1)

您可以使用lines.txt和行号awk ' BEGIN { while (getline n<"lines.txt") {l[n]++} } !(NR in l) {print} ' file

return {
    init:init,
    rng:rng,
}