Removed legacy property tables with Kilo
This commit is contained in:
parent
880e2f2044
commit
8d66fc4602
68 changed files with 67 additions and 380 deletions
55
.kilo/plans/1777714595174-misty-tiger.md
Normal file
55
.kilo/plans/1777714595174-misty-tiger.md
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# Plan to Remove Markdown Tables After First Header in Specified .md Files
|
||||
|
||||
## Goal
|
||||
Remove the markdown table that appears after the first markdown header (## X.Y Title) in 35 specific .md files located in the directory `/Users/rico/src/iso27diy-corp/Corpus/Standards/ISO27x/OST/27002/EN`. These files contain ISO 27002 control descriptions and have a summary table listing Control type, Information security properties, etc., which needs to be removed.
|
||||
|
||||
## Analysis
|
||||
- **Affected Files**: Identified 35 .md files containing the table starting with `| Control type | Information security properties | Cybersecurity concepts | Operational capabilities | Security domains |`.
|
||||
- **Table Structure**: The table consists of 2-4 lines:
|
||||
- Header row starting with `| Control type`
|
||||
- Separator row
|
||||
- Data row
|
||||
- Optionally, an empty row
|
||||
- **Location**: The table appears immediately after the first `##` header (e.g., `## 8.1 User endpoint devices`) and before the `**Control**` section.
|
||||
- **Pattern**: All affected files follow the pattern where the table ends just before `**Control**`.
|
||||
|
||||
## Approach
|
||||
Use a Bash script with `sed` to remove the table lines from each affected file. The `sed` command will delete lines from the start of the table (`| Control type`) up to but not including `**Control**`.
|
||||
|
||||
### Script
|
||||
Create and run the following Bash script in the target directory:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
# Change to the target directory
|
||||
cd /Users/rico/src/iso27diy-corp/Corpus/Standards/ISO27x/OST/27002/EN || exit 1
|
||||
|
||||
# Loop through all .md files
|
||||
for file in *.md; do
|
||||
# Check if the file contains the table
|
||||
if grep -q "| Control type" "$file"; then
|
||||
# Remove the table lines: from "| Control type" to just before "**Control**"
|
||||
sed -i '/^| Control type /,/^\*\*Control$/ { /^\*\*Control$/ !d }' "$file"
|
||||
echo "Processed $file"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Table removal complete."
|
||||
```
|
||||
|
||||
### Steps to Execute
|
||||
1. **Navigate to Directory**: Change to `/Users/rico/src/iso27diy-corp/Corpus/Standards/ISO27x/OST/27002/EN`.
|
||||
2. **Backup (Optional)**: Consider backing up the directory before running the script.
|
||||
3. **Run Script**: Execute the script to process all files.
|
||||
4. **Verify**: After running, check a few files (e.g., `a-8.1-User-endpoint-devices.md`, `a-5.15-Access-control.md`) to ensure the table is removed and the `**Control**` section remains intact.
|
||||
|
||||
## Risks and Considerations
|
||||
- **Accuracy**: The `sed` command is designed to precisely target the table based on the observed patterns. If any file has unexpected formatting, manual review may be needed.
|
||||
- **No Impact on Non-Affected Files**: Files without the table will remain unchanged.
|
||||
- **Reversibility**: If needed, restore from backup or use version control (assuming the directory is in a git repo).
|
||||
|
||||
## Expected Outcome
|
||||
- Tables removed from 35 files.
|
||||
- Content before and after the table (including `**Control**` and subsequent sections) preserved.
|
||||
- No changes to other .md files in the directory.
|
||||
Loading…
Add table
Add a link
Reference in a new issue