[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5106":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":21,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},5106,"textql","dinedal\u002Ftextql","dinedal","Execute SQL against structured text like CSV or TSV",null,"Go",9110,296,156,36,0,3,38.42,"MIT License",false,"master",true,[],"2026-06-12 02:01:08","# TextQL\n\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fdinedal\u002Ftextql.svg)](https:\u002F\u002Ftravis-ci.org\u002Fdinedal\u002Ftextql) [![Go Report Card](http:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fdinedal\u002Ftextql)](http:\u002F\u002Fgoreportcard.com\u002Freport\u002Fdinedal\u002Ftextql)\n\nAllows you to easily execute SQL against structured text like CSV or TSV.\n\nExample session:\n\n![textql_usage_session](https:\u002F\u002Fraw.github.com\u002Fdinedal\u002Ftextql\u002Fmaster\u002Ftextql_usage.gif)\n\n## Major changes!\n\nIn the time since the initial release of textql, I've made some improvements as well as made the project much more modular. There've also been additional performance tweaks and added functionality, but this comes at the cost of breaking the original command-line flags and changing the install command.\n\n### Changes since v1\n\nAdditions:\n\n- Numeric values are automatically recognized in more cases.\n- Date \u002F Time \u002F DateTime values are automatically recognized in reasonable formats. See [Time Strings](https:\u002F\u002Fwww.sqlite.org\u002Flang_datefunc.html) for a list for accepted formats, and how to convert from other formats.\n- Added join support! Multiple files \u002F directories can be loaded by listing them at the end of the command.\n- Directories are read by reading each file inside, and this is non-recursive.\n- You can list as many files \u002F directories as you like.\n- Added flag '-output-file' to save output directly to a file.\n- Added flag '-output-dlm' to modify the output delimiter.\n- Added \"short SQL\" syntax.\n  - For the case of a single table, the `FROM [table]` can be dropped from the query.\n  - For simple selects, the `SELECT` keyword can be dropped from the query.\n  - This means the v1 command `textql -sql \"select * from tbl\" -source some_file.csv` can be shortened to `textql -sql \"*\" some_file.csv`\n\nChanges:\n\n- The flag '-outputHeader' was renamed to '-output-header'.\n\nRemovals:\n\n- Dropped the ability to override table names. This makes less sense after the automatic tablename generation based on filename, joins, and shorter SQL syntax changes.\n- Removed '-source', any files \u002F paths at the end of the command are used, as well as piped-in data.\n\nBug fixes:\n\n- Writing to a directory no longer fails silently.\n\n## Key differences between textql and sqlite importing\n\n- sqlite import will not accept stdin, breaking unix pipes. textql will happily do so.\n- textql supports quote-escaped delimiters, sqlite does not.\n- textql leverages the sqlite in-memory database feature as much as possible and only touches disk if asked.\n\n## Is it any good?\n\n[Yes](https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=3067434)\n\n## Requirements\n\n- Go 1.4 or later\n\n## Install\n\n**Latest release on Homebrew (OS X)**\n\n```bash\nbrew install textql\n```\n\n**Build from source**\n\n```bash\ngo get -u github.com\u002Fdinedal\u002Ftextql\u002F...\n```\n\n## Docker\n\nFirst build the image.\n\n```bash\ndocker build -t textql .\n```\n\nNow use that image mounting your current directory into the container.\n\n```bash\ndocker run --rm -it -v $(pwd):\u002Ftmp textql [rest_of_command]\n```\n\n### Alias\n\nYou can add the following alias to your system to provide quick access to TextQL:\n\n```bash\nalias textql='docker run --rm -it -v $(pwd):\u002Ftmp textql '\n```\n\n## AUR\n\n**Using an AUR-Helper**\n\n```bash\nyaourt textql-git\n```\n\n**Building from PKGBUILD**\nFirst clone the repository.\n```bash\nmakepkg -cs\n```\nThen install the package using pacman or your favorite Package Manager\n\n\n## Usage\n\n```bash\n  textql [-console] [-save-to path path] [-output-file path] [-output-dlm delimter] [-output-header] [-pretty] [-quiet] [-header] [-dlm delimter] [-sql sql_statements] [path ...]\n\n  -console\n        After all statements are run, open SQLite3 REPL with this data\n  -dlm string\n        Input delimiter character between fields -dlm=tab for tab, -dlm=0x## to specify a character code in hex (default \",\")\n  -header\n        Treat input files as having the first row as a header row\n  -output-dlm string\n        Output delimiter character between fields -output-dlm=tab for tab, -dlm=0x## to specify a character code in hex (default \",\")\n  -output-file file\n        Filename to write output to, if empty no output is written (default \"stdout\")\n  -output-header\n        Display column names in output\n  -quiet\n        Suppress logging\n  -pretty\n        Pretty print output\n  -save-to file\n        SQLite3 db is left on disk at this file\n  -sql string\n        SQL Statement(s) to run on the data\n  -version\n        Print version and exit\n```\n\n## I want stdev, average, other functions\n\nJust follow the install directions at [go-sqlite3-extension-functions](https:\u002F\u002Fgithub.com\u002Fdinedal\u002Fgo-sqlite3-extension-functions) and textql will automatically load this library.\n\nFull function list:\n\n- Math: acos, asin, atan, atn2, atan2, acosh, asinh, atanh, difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, log, log10, power, sign, sqrt, square, ceil, floor, pi.\n- String: replicate, charindex, leftstr, rightstr, ltrim, rtrim, trim, replace, reverse, proper, padl, padr, padc, strfilter.\n- Aggregate: stdev, variance, mode, median, lower_quartile, upper_quartile\n\n## License\n\nNew MIT License - Copyright (c) 2015, 2016 Paul Bergeron [http:\u002F\u002Fpauldbergeron.com\u002F](http:\u002F\u002Fpauldbergeron.com\u002F)\n\nSee LICENSE for details\n","TextQL 是一个允许用户对CSV或TSV等结构化文本执行SQL查询的工具。它使用Go语言编写，支持自动识别数值、日期时间格式，并且能够处理多个文件或目录的数据联合查询。此外，TextQL还提供了输出至文件、自定义输出分隔符等功能，以及简化的SQL语法以提高易用性。相较于直接使用SQLite导入功能，Textql在处理标准输入流、引用转义分隔符等方面具有优势。适用于需要快速分析处理大量结构化文本数据但又希望保持轻量级操作的场景，如日志分析、临时数据分析任务等。",2,"2026-06-11 03:02:33","top_language"]