{ "info": { "author": "Thomas Guettler", "author_email": "info.reprec@thomas-guettler.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://travis-ci.org/guettli/reprec.svg?branch=master\n :target: https://travis-ci.org/guettli/reprec\n \nreprec: Recursively replace strings in files and other goodies\n==================================================================\n\nCommand line tool for text files.\n\nhttps://github.com/guettli/reprec\n\nTools\n=====\n\nUp to now there are these tools:\n\n * reprec: Replace strings in text files. Can work recursive in a directory tree\n * setops: Set operations (union, intersection, ...) for line based files.\n \nreprec\n======\n\nThe tool reprec replaces strings in text files::\n\n ===> reprec --help\n Usage: reprec\n [-p|--pattern] p\n [-i|--insert] i\n [-f|--filename regex]\n [-n|--no-regex]\n [-v|--verbose]\n [-a|--ask]\n [--print-lines]\n [--dotall]\n [--ignorecase]\n [--novcexclude]\n [--files-from file|-]\n [--ignore regex]\n\n dirs\n\n dirs: Directories or files for replacing. Use is '.' for current dir.\n\n pattern: Regex pattern.\n\n insert: Text which gets inserted\n\n filename: Regex matching the filename. E.g. '.*\\.py'\n\n no-regex: Normal string replacement will be used.\n This means you can use '.', '*', '[' without quoting\n\n verbose: Print the number of changes for each file\n\n print-lines: Print the old and the new line for each change.\n Not available if --dotall is used.\n\n dotall: In regular expressions '.' matches newlines, too.\n Not supported with --ask and --print-lines.\n\n ignorecase: ...\n\n novcexclude: Don't exclude the directories called '.svn' or 'CVS'.\n By default they get ignored.\n\n ask: Aks before replacing (interactive).\n\n files-from: Read filenames from file or stdin if '-'.\n Skip directories.\n\n ignore: Ignore lines that match a regular expression.\n This options can be given several times.\n\n Example:\n reprec --pattern '(xml)' --insert '\\1\\1' .\n -->This will replace all 'xml' with 'xmlxml'\n\n Or, shorter:\n reprec '(xml)' '\\1\\1'\n\n Example2:\n find -mtime -1 -name '*.py' | reprec --files-from=- foo bar\n\n\n The Perl Compatible Regular Expresssions are explained here:\n http://docs.python.org/lib/re-syntax.html\n\n The files are created by moving (os.rename()) FILE_RANDOMINTEGER\n to FILE. This way no half written files will be left, if the\n process gets killed. If the process gets killed one FILE_RANDOMINTEGER\n may be left in the filesystem.\n\nsetops\n======\nThe tool setops provides set operations (union, intersection, ...) for line based files::\n\n usage: setops [-h] set1 operator set2\n\n Operators:\n union Aliases: | + or\n intersection Aliases: & and\n difference Aliases: - minus\n symmetric_difference Aliases: ^\n\n Examples\n\n #Show all files in directory \"a\" which are not in directory \"b\":\n setops <(cd a; find ) - <(cd b; find )\n\n # Create some files for testing\n echo foo > foo.txt\n echo bar > bar.txt\n echo foobar > foobar.txt\n\n # All files minus files containing \"foo\"\n user@host$ setops <(ls *.txt) - <(grep -l foo *.txt)\n\n # All files containing \"foo\" or \"bar\" minus files which contain \"foobar\"\n setops <(setops <(grep -l bar *.txt) + <(grep -l foo *.txt)) - <(grep -l foobar *.txt)\n\n\n\n positional arguments:\n set1\n operator\n set2\n\n optional arguments:\n -h, --help show this help message and exit\n\nInstall\n=======\n\nInstall from `pypi `_::\n\n pip install reprec", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/guettli/reprec/", "keywords": "", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "reprec", "package_url": "https://pypi.org/project/reprec/", "platform": "", "project_url": "https://pypi.org/project/reprec/", "project_urls": { "Homepage": "https://github.com/guettli/reprec/" }, "release_url": "https://pypi.org/project/reprec/2017.31.0/", "requires_dist": null, "requires_python": "", "summary": "reprec: Recursively replace strings in files and other goodies", "version": "2017.31.0" }, "last_serial": 5114240, "releases": { "2015.6": [ { "comment_text": "", "digests": { "md5": "6c9ac515a4edf62c0de2b27cfbc0a7b7", "sha256": "4d2e51633d260c9c7d75a2077fb06aadac8e47c8ecf19e3d16f5d1c25b4d05fb" }, "downloads": -1, "filename": "reprec-2015.6.tar.gz", "has_sig": false, "md5_digest": "6c9ac515a4edf62c0de2b27cfbc0a7b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6460, "upload_time": "2015-11-30T16:09:02", "url": "https://files.pythonhosted.org/packages/1f/c5/5d02466159715c5c49ba7ad75500db4c027e003a64ca7e225185213a13f4/reprec-2015.6.tar.gz" } ], "2015.7": [ { "comment_text": "", "digests": { "md5": "6e7d6dd10078ca43827e4561325d8249", "sha256": "480a0049ddd19163513f47f08fdde61f0b0fddf875c4fe5727c1530e4cb12067" }, "downloads": -1, "filename": "reprec-2015.7.tar.gz", "has_sig": false, "md5_digest": "6e7d6dd10078ca43827e4561325d8249", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6466, "upload_time": "2015-11-30T16:14:40", "url": "https://files.pythonhosted.org/packages/b6/17/c4e4990710de78169d7146bd57c12c388369e44b78ec9ebe43f1ae690aa1/reprec-2015.7.tar.gz" } ], "2016.1": [ { "comment_text": "", "digests": { "md5": "07a05eca8948879c71e5fbf5aa142121", "sha256": "7d95cbd28cc8a8ece8b0e5027f5a8a644287b80fc789c98ca167990f1277e313" }, "downloads": -1, "filename": "reprec-2016.1.tar.gz", "has_sig": false, "md5_digest": "07a05eca8948879c71e5fbf5aa142121", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6491, "upload_time": "2016-03-03T16:13:01", "url": "https://files.pythonhosted.org/packages/4f/bd/a2e53d4c581be40091872c81efda93e461ca3b801ee96572f12a38f3d10d/reprec-2016.1.tar.gz" } ], "2016.2": [ { "comment_text": "", "digests": { "md5": "1c32721e0bf74f86a3328e71e4eb4891", "sha256": "46320fa02348349587a859970b6e6e7a9d037425e5b195b5a9a2058da670dd15" }, "downloads": -1, "filename": "reprec-2016.2.tar.gz", "has_sig": false, "md5_digest": "1c32721e0bf74f86a3328e71e4eb4891", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6498, "upload_time": "2016-03-21T09:02:38", "url": "https://files.pythonhosted.org/packages/6f/0d/56559a0dff6f54bb2ce97676ce6154f2024b45a2969e1be0fb1ebf93b6c1/reprec-2016.2.tar.gz" } ], "2016.3": [ { "comment_text": "", "digests": { "md5": "d41ed116233d641e93101205e70592a3", "sha256": "31232d3806e4d4b3e1e709f30dd08185fcc901e0d720bba20b5aaa5f7b565dbb" }, "downloads": -1, "filename": "reprec-2016.3.tar.gz", "has_sig": false, "md5_digest": "d41ed116233d641e93101205e70592a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6561, "upload_time": "2016-03-21T09:13:45", "url": "https://files.pythonhosted.org/packages/35/f0/038141a2e21fea8691e031e3dfe98b80961daef946eb1f06cced778599e5/reprec-2016.3.tar.gz" } ], "2016.5": [ { "comment_text": "", "digests": { "md5": "497dff2a50dcdd588c68c2c92b17472d", "sha256": "3c4eec344e6d2faa7d2ffe69f4e718f9b46214104fba0d57cddb2d7883de3ad3" }, "downloads": -1, "filename": "reprec-2016.5.tar.gz", "has_sig": false, "md5_digest": "497dff2a50dcdd588c68c2c92b17472d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6978, "upload_time": "2016-11-17T14:09:35", "url": "https://files.pythonhosted.org/packages/af/f5/a01c3846bd90bc8102bccfc8d26adce3e42e5434236adad9b293c3df1b81/reprec-2016.5.tar.gz" } ], "2017.14.0": [ { "comment_text": "", "digests": { "md5": "cf2655f302745fdb7679a41c0d1a9cfe", "sha256": "0bf7e275b0418cc3c178d11af2ec0f0a23ea1d800b273ed255894bc6ed6f7a7e" }, "downloads": -1, "filename": "reprec-2017.14.0.tar.gz", "has_sig": false, "md5_digest": "cf2655f302745fdb7679a41c0d1a9cfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7857, "upload_time": "2017-09-08T12:23:40", "url": "https://files.pythonhosted.org/packages/b3/8d/f519555353eb203e520bf0af4860b41c1855398b1fd010f8b6dd50210f4a/reprec-2017.14.0.tar.gz" } ], "2017.15.0": [ { "comment_text": "", "digests": { "md5": "a0baddfc3100bbe6cff707f0036aac19", "sha256": "b9e617d1533615c46496482327bd10838480250d3be12c94d675f301b529085a" }, "downloads": -1, "filename": "reprec-2017.15.0.tar.gz", "has_sig": false, "md5_digest": "a0baddfc3100bbe6cff707f0036aac19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7714, "upload_time": "2017-09-08T12:34:53", "url": "https://files.pythonhosted.org/packages/0e/75/be2678d891bc3f36b66f002c003992eebb8118d69f765c4db3117302bdaa/reprec-2017.15.0.tar.gz" } ], "2017.16.0": [ { "comment_text": "", "digests": { "md5": "0ff8724dd4d7f2ce55fa0ab7f727a49f", "sha256": "af63b17ee5612bbf9fd2f0d738bc820e754fd12ce01430ffa79613f6770ffc5e" }, "downloads": -1, "filename": "reprec-2017.16.0.tar.gz", "has_sig": false, "md5_digest": "0ff8724dd4d7f2ce55fa0ab7f727a49f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7777, "upload_time": "2017-10-09T14:06:00", "url": "https://files.pythonhosted.org/packages/2b/b3/d9db5cfff1f1bb393cfb2d4b7fcc9c87ebbf47008334e4490992c5c4bfd8/reprec-2017.16.0.tar.gz" } ], "2017.17.0": [ { "comment_text": "", "digests": { "md5": "bd1a572d0b81a41212dcecae8e1b657b", "sha256": "771c4a6d792dbdc109b2d0de433ae6df89e9035f98ae4e06c844cb11bff24a87" }, "downloads": -1, "filename": "reprec-2017.17.0.tar.gz", "has_sig": false, "md5_digest": "bd1a572d0b81a41212dcecae8e1b657b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7780, "upload_time": "2017-10-13T11:27:51", "url": "https://files.pythonhosted.org/packages/e4/7d/077058cb607ba77bd04063db1e103f683fc1bd5135f0a9dd4987ade8d819/reprec-2017.17.0.tar.gz" } ], "2017.18.0": [ { "comment_text": "", "digests": { "md5": "a1d93076a2730ed7bc0f2d263c3b471b", "sha256": "974eabb2db0e12c6dddf2fe6d5e4de53b9ef52988ad4eadde4b103ca4bdddfa9" }, "downloads": -1, "filename": "reprec-2017.18.0.tar.gz", "has_sig": false, "md5_digest": "a1d93076a2730ed7bc0f2d263c3b471b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7983, "upload_time": "2017-10-30T13:39:11", "url": "https://files.pythonhosted.org/packages/f5/b5/b8059a9eeffbcd1bac7b2e9decf67ee92b32bbd311cb83406c326f27ee9a/reprec-2017.18.0.tar.gz" } ], "2017.19.0": [ { "comment_text": "", "digests": { "md5": "2483fe31327cc71ae26c6a9c4de3407d", "sha256": "305c0c2583ac5bcb830a485f484c0f77519c3239d039479274d080b1d6572a16" }, "downloads": -1, "filename": "reprec-2017.19.0.tar.gz", "has_sig": false, "md5_digest": "2483fe31327cc71ae26c6a9c4de3407d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7983, "upload_time": "2017-10-30T14:11:54", "url": "https://files.pythonhosted.org/packages/5a/e8/2c6e220dbe2ce9b1981a9f6a89ece9f90b5ed1a70c7e8f75779c02195cf4/reprec-2017.19.0.tar.gz" } ], "2017.20.0": [ { "comment_text": "", "digests": { "md5": "9d8291bb0fca6aa35d6de42b1019e6b9", "sha256": "70e7485fe954c417cc935ae0780ca1cae73960e6fa567e5acfbc70e450c17e7b" }, "downloads": -1, "filename": "reprec-2017.20.0.tar.gz", "has_sig": false, "md5_digest": "9d8291bb0fca6aa35d6de42b1019e6b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7998, "upload_time": "2017-10-30T14:31:29", "url": "https://files.pythonhosted.org/packages/52/19/fa41139644ea8466cc5525349cb4bb0d1da4ae5882e5987a50a1b8b55886/reprec-2017.20.0.tar.gz" } ], "2017.21.0": [ { "comment_text": "", "digests": { "md5": "e5d9047d05f044c76d515d17a862f85d", "sha256": "c06b62d2f4add989fef8607e52f0ff1919a9b03ed554846bffeb1639a01dc582" }, "downloads": -1, "filename": "reprec-2017.21.0.tar.gz", "has_sig": false, "md5_digest": "e5d9047d05f044c76d515d17a862f85d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8000, "upload_time": "2017-10-30T14:42:31", "url": "https://files.pythonhosted.org/packages/18/e6/24671548b61e02a31f6bd0269424ea228ba768cd2824ec5226dc7b1a4542/reprec-2017.21.0.tar.gz" } ], "2017.22.0": [ { "comment_text": "", "digests": { "md5": "ccb318bad6c78b856545cfc53b7cb0ab", "sha256": "75b6ef6ccd4f95917bea08a10dac6e4f9ab6c4b14de34ca31d1edcffe8221158" }, "downloads": -1, "filename": "reprec-2017.22.0.tar.gz", "has_sig": false, "md5_digest": "ccb318bad6c78b856545cfc53b7cb0ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8009, "upload_time": "2017-10-30T14:50:42", "url": "https://files.pythonhosted.org/packages/db/72/cc73fdc1a4cf95e3474c32939b93258efbd8f5fb229981bef76e6e1b290d/reprec-2017.22.0.tar.gz" } ], "2017.23.0": [ { "comment_text": "", "digests": { "md5": "504c6ac9e1030a0853e0af349bf77c86", "sha256": "1fbbb4db5071491a5269af0bba6b67a9c573a047988a92bc746be20973e44d56" }, "downloads": -1, "filename": "reprec-2017.23.0.tar.gz", "has_sig": false, "md5_digest": "504c6ac9e1030a0853e0af349bf77c86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8018, "upload_time": "2017-11-02T11:21:38", "url": "https://files.pythonhosted.org/packages/de/1b/c8564ac723460131b0da6fb2ba0375b57fd28c12e5f311201f247c847ba0/reprec-2017.23.0.tar.gz" } ], "2017.24.0": [ { "comment_text": "", "digests": { "md5": "9959ccfa6a4c18546abea2498bac6c03", "sha256": "8fcc8bc60c67401b074154d7f2f0602179944bdf50e5c3a404417cfeaf679f65" }, "downloads": -1, "filename": "reprec-2017.24.0.tar.gz", "has_sig": false, "md5_digest": "9959ccfa6a4c18546abea2498bac6c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8093, "upload_time": "2017-11-06T11:49:29", "url": "https://files.pythonhosted.org/packages/04/20/79a62d0991268af40c0cfb2b5b750704b53bafd3ca15b239fd352a5ab07c/reprec-2017.24.0.tar.gz" } ], "2017.25.0": [ { "comment_text": "", "digests": { "md5": "b58b2252c281fb70a9c9819068da1803", "sha256": "0b7fce3176d9238cea82a6416261948cf60fc3476d1daa076ec33194565d5b66" }, "downloads": -1, "filename": "reprec-2017.25.0.tar.gz", "has_sig": false, "md5_digest": "b58b2252c281fb70a9c9819068da1803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8168, "upload_time": "2018-01-12T12:53:47", "url": "https://files.pythonhosted.org/packages/33/68/ae7e7270d7b91403ccca032f405ae694e5df5ff504813c922ffd09f6f7b5/reprec-2017.25.0.tar.gz" } ], "2017.26.0": [ { "comment_text": "", "digests": { "md5": "b5744e14125c82d3d01790cbe1cebb12", "sha256": "cfc306cacd10215ce06ae9525d2f9db2e18c288a4eb16a3bf2a7996ecf327323" }, "downloads": -1, "filename": "reprec-2017.26.0.tar.gz", "has_sig": false, "md5_digest": "b5744e14125c82d3d01790cbe1cebb12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8212, "upload_time": "2018-05-25T11:34:54", "url": "https://files.pythonhosted.org/packages/bb/23/233b290d62303a00841ecde5c54dee791b254e20d29c048543bf3f51365b/reprec-2017.26.0.tar.gz" } ], "2017.27.0": [ { "comment_text": "", "digests": { "md5": "162ee6c7dd1a849f9566800eca894a8e", "sha256": "649554f1286362585c5350725df6bdc69594cce3b2f0a2e9ec4af00bcc990d67" }, "downloads": -1, "filename": "reprec-2017.27.0.tar.gz", "has_sig": false, "md5_digest": "162ee6c7dd1a849f9566800eca894a8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-06-15T09:24:05", "url": "https://files.pythonhosted.org/packages/7e/34/70f127b62096fb1097cb845007ec705ac3b3c1d5ed346f0805d0ba2ee6a2/reprec-2017.27.0.tar.gz" } ], "2017.28.0": [ { "comment_text": "", "digests": { "md5": "38991e1dd454fd90e9822a6029ea01b5", "sha256": "1608e9a5b8ff04d242ef7835e1388567bb6b442b69b7e79ba0d688a0498c2d9c" }, "downloads": -1, "filename": "reprec-2017.28.0.tar.gz", "has_sig": false, "md5_digest": "38991e1dd454fd90e9822a6029ea01b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8397, "upload_time": "2018-06-15T09:24:24", "url": "https://files.pythonhosted.org/packages/d1/fb/fd0c1c6f42a120a9c196d6125f36b216846ae36f4dbeb5f56cd2dd78d2a0/reprec-2017.28.0.tar.gz" } ], "2017.29.0": [ { "comment_text": "", "digests": { "md5": "dac3cf69fb23b4aa779b7fdbfb69447a", "sha256": "bc0601480d4769391c7f34460de484dd625f1e5fe03c0a517eb597f9d4b07cd3" }, "downloads": -1, "filename": "reprec-2017.29.0.tar.gz", "has_sig": false, "md5_digest": "dac3cf69fb23b4aa779b7fdbfb69447a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8400, "upload_time": "2018-06-15T12:11:48", "url": "https://files.pythonhosted.org/packages/07/92/b20e1e54422f281c8738392fdfc9f469daf692fc4c068e7b1e67dc220678/reprec-2017.29.0.tar.gz" } ], "2017.30.0": [ { "comment_text": "", "digests": { "md5": "99199510ad57a3e8d3c258eccf0fd63c", "sha256": "a26c4ff17474936bb3c2295c4aca87b9f252519129208bea8714b6433f9fbf35" }, "downloads": -1, "filename": "reprec-2017.30.0.tar.gz", "has_sig": false, "md5_digest": "99199510ad57a3e8d3c258eccf0fd63c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8401, "upload_time": "2018-09-14T12:21:00", "url": "https://files.pythonhosted.org/packages/bb/9d/2405172d43f102881987c36810538609a302a743b1bcdb22bf04cd04cc20/reprec-2017.30.0.tar.gz" } ], "2017.31.0": [ { "comment_text": "", "digests": { "md5": "af33d10c326ee3941c0395f1e49ff669", "sha256": "a512c7f67c932fdad36870740ae459dc048af6ffe29d8872e0032ea79ec3b3ee" }, "downloads": -1, "filename": "reprec-2017.31.0.tar.gz", "has_sig": false, "md5_digest": "af33d10c326ee3941c0395f1e49ff669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8351, "upload_time": "2019-04-08T15:30:03", "url": "https://files.pythonhosted.org/packages/75/82/f272e6eb290170b8e37a7a6f26f7f8a29b18cbf65f3f9e21b70105cd1f14/reprec-2017.31.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "af33d10c326ee3941c0395f1e49ff669", "sha256": "a512c7f67c932fdad36870740ae459dc048af6ffe29d8872e0032ea79ec3b3ee" }, "downloads": -1, "filename": "reprec-2017.31.0.tar.gz", "has_sig": false, "md5_digest": "af33d10c326ee3941c0395f1e49ff669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8351, "upload_time": "2019-04-08T15:30:03", "url": "https://files.pythonhosted.org/packages/75/82/f272e6eb290170b8e37a7a6f26f7f8a29b18cbf65f3f9e21b70105cd1f14/reprec-2017.31.0.tar.gz" } ] }