|
HPs vevstove Forum for datasnakk. |
|
Trådverktøy | Visningsmåter |
30-05-18, 09:05 | #1 |
Administrator
|
Linux/Mac: Endring av stor tekstfil med awk, sed eller grepJeg har et par database dumper på noen GB. Jeg trenger å slette en linje + siste komma på linjen før. Kode:
PRIMARY KEY (`postid`), KEY `userid` (`userid`), KEY `threadid` (`threadid`,`userid`), FULLTEXT KEY `title` (`title`,`pagetext`) Til: Kode:
PRIMARY KEY (`postid`), KEY `userid` (`userid`), KEY `threadid` (`threadid`,`userid`) Det er flere linjer etter FULLTEXT-linjen. Den forekommer 2 ganger og begge skal slettes. Bruker BBEdit (Mac) nå for å endre manuelt, de andre teksteditorene bare krasjer når jeg forsøker å åpne filene. |
30-05-18, 20:26 | #2 |
Administrator
Medlem siden: Jul 2008
Innlegg: 92
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
så lenge fulltextlinjen er på egen linje, kan du ikke bare gjøre grep -v FULLTEXT for å bli kvitt de linjene, med en påfølgende sedregle for å fjerne komma på den siste key-en? har du litt mer fullverdige testdata, kan jeg skrible.. |
31-05-18, 00:11 | #3 |
Administrator
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grepDet ligger noen dumper på serveren. Å fjerne FULLTEXT-linjen er ikke noe problem, det er avsluttende komma på linjen før trøbler (mariadb/mysql vil ikke ha den). |
31-05-18, 07:39 | #4 |
Administrator
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
Her er en, linjen over er ikke lik for alle jeg vil fjerne. Kode:
-- -- Table structure for table `post` -- DROP TABLE IF EXISTS `post`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `post` ( `postid` int(10) unsigned NOT NULL AUTO_INCREMENT, `threadid` int(10) unsigned NOT NULL DEFAULT '0', `parentid` int(10) unsigned NOT NULL DEFAULT '0', `username` varchar(100) NOT NULL DEFAULT '', `userid` int(10) unsigned NOT NULL DEFAULT '0', `title` varchar(250) NOT NULL DEFAULT '', `dateline` int(10) unsigned NOT NULL DEFAULT '0', `pagetext` mediumtext, `allowsmilie` smallint(6) NOT NULL DEFAULT '0', `showsignature` smallint(6) NOT NULL DEFAULT '0', `ipaddress` varchar(15) NOT NULL DEFAULT '', `iconid` smallint(5) unsigned NOT NULL DEFAULT '0', `visible` smallint(6) NOT NULL DEFAULT '0', `attach` smallint(5) unsigned NOT NULL DEFAULT '0', `infraction` smallint(5) unsigned NOT NULL DEFAULT '0', `reportthreadid` int(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`postid`), KEY `userid` (`userid`), KEY `threadid` (`threadid`,`userid`), FULLTEXT KEY `title` (`title`,`pagetext`) ) ENGINE=MyISAM AUTO_INCREMENT=4699964 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `post` -- |
31-05-18, 20:52 | #5 |
Administrator
Medlem siden: Jul 2008
Innlegg: 92
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
#!/bin/bash |
31-05-18, 21:46 | #6 |
Populærkulturjunkie
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
Og dette er hvorfor jeg aldri skal sette mine bein borti Linux... |
31-05-18, 22:07 | #7 |
Administrator
Medlem siden: Jul 2008
Innlegg: 92
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
Vil ikke si tekstmassasje er et egnet eksempel å trekke frem operativsystem på. Alle moderne operativsystemer lar deg peke og klikke deg intuitivt gjennom de vanlige brukerbehovene. Det HP driver med er noe helt annet, og du ville ikke fått en enklere vei med f.eks. Windows. |
06-06-18, 00:51 | #8 |
Det kan alltid bli verre.
Medlem siden: Aug 2011
Hvor: Akershus
Innlegg: 1.242
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grepJeg har scriptet i Linux (Bash) i årevis og er nå nødt for å lære meg Powershell...
__________________
“There is a rumour going around that I have found God. I think this is unlikely because I have enough difficulty finding my keys, and there is empirical evidence that they exist.” |
20-06-18, 18:40 | #9 |
Administrator
|
Sv: Linux/Mac: Endring av stor tekstfil med awk, sed eller grep
Den fungerer utmerket på Linux, men i MacOS får jeg følgende: Kode:
MBPr:Dumps hp$ cat test.sql | ./sans-fulltext.sh sed: 2: " /ENGINE=MyISAM/!{H} /E ...": extra characters at the end of H command Google sier at linux har GNU sed, mens MacOS har BSD sed. Kode:
#!/bin/bash sed -e '/^\s\sFULLTEXT/d' | sed -ne ' /ENGINE=MyISAM/!{H} /ENGINE=MyISAM/{x; s/,[ \t]*$//; p; } ${g;p;} ' |
|
|